跳到内容

分隔符默认为逗号(),并且可以是任何可打印的ASCII字符。例如:

可以指定CASESENSITIVE,保持原有字母大小写。

英国《金融时报》创建idx哈希前缀1测试模式标签标签分隔符”;“

查询字段标签
英国《金融时报》搜索idx"@tags:{hello world | foo bar}"

标签子句可以组合成任何子句,用作否定表达式、可选表达式等。例如,给定以下索引:

英国《金融时报》创建idx哈希前缀1测试模式标题文本价格数字标签标签分隔符”;“

的全文搜索标题字段,在上的数值范围价格,并匹配foo酒吧你好世界标签是这样的:

英国《金融时报》搜索idx@title你好@price100年0@ tags:{喷火酒吧|你好世界

在一个过滤器中的多个标记
create myIndex ON HASH PREFIX 1 traveller: SCHEMA name TEXT cities TAG HSET traveller:1 name "John Doe" cities "New York, Barcelona, San Francisco"

对于这个索引,下面的查询将返回所有访问过的人至少有一个在下列城市中:

英国《金融时报》搜索myIndex"@城市:{纽约|洛杉矶|巴塞罗那}"

但是下一个查询将返回所有访问过的用户这三个城市

英国《金融时报》搜索myIndex“@cities:{纽约}@cities:{洛杉矶}@cities:{巴塞罗那}”

在标签中包含标点符号
在HASH PREFIX 1上创建一个标点符号

你可以像这样添加包含标点符号的标签:

HSET测试:1标签“Andrew’s Top 5,Justin’s Top 5”

但是,当查询包含标点符号的标记时,必须使用反斜杠字符().

请注意:在大多数语言中,你都需要一个额外的反斜杠。在redis-cli中也是如此。

例如,查询标签安德鲁的前5名在redis-cli中如下所示:

英国《金融时报》搜索标点符号"@tags:{Andrew\\'s Top 5}"

包含多个单词的标签
英国《金融时报》搜索idx"@tags:{to\\ be\ or\\ not\ to\\ be}"

您应该转义空格,因为如果一个标签包含多个单词,而其中一些是停止词像“to”或“be”一样,包含这些单词而不转义空格的查询将产生语法错误。

你可以在下面的例子中看到它的样子:

127.0.0.16379>英国《金融时报》搜索idx"@tags:{生存还是毁灭}"错误语法错误抵消27附近

注意:停止词是很常见的词,搜索引擎会忽略它们。我们有一个专门的页面在reresearch中停止文字如果你想了解更多。

考虑到潜在的语法错误,我们建议您转义标记查询中的所有空格。