全文搜索

执行全文搜索

全文搜索可以在较大的文本中查找单词或短语。您可以在特定的文本字段中搜索,也可以在所有文本字段中搜索。

本文提供了最相关的全文搜索功能的良好概述。请在参考文档中找到所有全文搜索功能的更多详细信息。

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

字段名称 字段类型
brand TEXT
model TEXT
description TEXT

单个词

要在所有文本字段中搜索一个词(或词干),您可以构建以下简单查询:

FT.SEARCH index "word"

与其在所有文本字段中搜索,您可能希望将搜索限制在特定的文本字段中。

FT.SEARCH index "@field: word"

在自然语言中非常常见的词,例如英语中的thea,不会被索引,也不会返回搜索结果。您可以在停用词文章中找到更多详细信息。

以下示例搜索描述中包含“kids”一词的所有自行车:

短语

短语是一个句子、句子片段或一小群单词。您可以在精确匹配文章中找到关于如何查找精确短语的更多详细信息。

单词前缀

你也可以搜索匹配给定前缀的单词。

FT.SEARCH index "prefix*"
FT.SEARCH index "@field: prefix*"
重要提示:
前缀需要至少两个字符长。

以下是一个示例,向您展示如何搜索品牌以'ka'开头的自行车:

单词后缀

与前缀类似,也可以搜索具有相同后缀的单词。

FT.SEARCH index "*suffix"

您还可以在查询表达式中结合使用前缀和后缀搜索。

FT.SEARCH index "*infix*"

以下是一个查找所有以“bikes”结尾的品牌的示例:

模糊搜索允许您找到与搜索词大致匹配的文档。要进行模糊搜索,您需要用%字符对搜索词进行包裹。单个对表示(Levenshtein)距离为一,两个对表示距离为二,三个对表示最大距离,表示距离为三。

以下是搜索所有文本字段且距离为一的命令:

FT.SEARCH index "%word%"

以下示例查找所有包含一个与错误拼写单词'optamized'距离为一的单词的文档。您可以看到这与单词'optimized'匹配。

如果你想将最大词距增加到两个,可以使用以下查询:

RATE THIS PAGE
Back to top ↑