精确匹配查询

执行简单的精确匹配查询

精确匹配查询允许您选择所有字段与特定值匹配的文档。

您可以在多种字段类型上使用精确匹配查询。查询语法根据类型的不同而有所变化。

本文中的示例使用具有以下字段的模式:

字段名称 字段类型
description TEXT
condition TAG
price NUMERIC

您可以在快速入门指南中找到有关创建索引和加载演示数据的更多详细信息。

数字字段

要在数字字段上执行精确匹配查询,您需要构建一个具有相同起始值和结束值的范围查询:

FT.SEARCH index "@field:[value value]"

or

FT.SEARCH index "@field:[value]" DIALECT 2 # requires v2.10

or

FT.SEARCH index "@field==value" DIALECT 2 # requires v2.10

关于范围查询的文章所述,您也可以使用FILTER参数:

FT.SEARCH index "*" FILTER field start end

以下示例向您展示如何查询价格恰好为270美元的自行车:

标签字段

标签是文本的简短序列,例如,“new”或“Los Angeles”。

重要提示:
如果您需要查询短文本,请使用标签查询而不是全文查询。标签字段在存储索引条目时更节省空间,并且通常会导致精确匹配查询的查询复杂度降低。

你可以通过以下方式为单个标签构建标签查询:

FT.SEARCH index "@field:{tag}"
注意:
标签查询中的花括号是必需的。

这个简短的示例向您展示了如何查询新自行车:

使用双引号和DIALECT 2进行包含特殊字符的标签的精确匹配查询。自v2.10起,在涉及双引号标签的查询中,唯一需要转义的字符是双引号字符。以下是一个使用包含特殊字符的双引号标签的示例:

全文字段

全文查询的详细解释可在全文查询文档中找到。您还可以查询文本字段中短语的精确匹配:

FT.SEARCH index "@field:\"phrase\""
Important:

短语必须用转义的双引号包裹以进行精确匹配查询。

你不能使用以停用词开头的短语。

以下是一个查找所有描述中包含确切文本“rough terrain”的自行车的示例:

RATE THIS PAGE
Back to top ↑