FT.SPELLCHECK
语法
FT.SPELLCHECK index query [DISTANCE distance] [TERMS INCLUDE | EXCLUDE dictionary [terms [terms ...]]] [DIALECT dialect]
- 可用版本
- Redis 开源版 / Search 1.4.0
- 时间复杂度
- O(1)
- ACL 类别
-
@search
,
对查询执行拼写检查,返回拼写错误的术语建议
必需参数
index
是包含索引术语的索引。
query
是搜索查询。
更多详细信息请参阅拼写检查。
可选参数
TERMS
指定包含 (INCLUDE
) 或排除 (EXCLUDE
) 自定义词典。要了解有关管理自定义词典的更多信息,请参阅 FT.DICTADD
、FT.DICTDEL
和 FT.DICTDUMP
。
您可以指定多个包含和排除 TERMS
。
DISTANCE
是拼写建议的最大 Levenshtein 距离(默认值:1,最大值:4)。
DIALECT {dialect_version}
选择执行查询的方言版本。如果未指定,查询将使用模块初始加载期间或通过 FT.CONFIG SET
命令设置的默认方言版本执行。
返回值
FT.SPELLCHECK 返回一个数组回复,其中每个元素表示查询中拼写错误的术语。拼写错误的术语按其在查询中出现的顺序排列。每个拼写错误的术语反过来是一个 3 元素数组,由常量字符串 TERM
、术语本身以及一个拼写校正建议数组组成。拼写校正数组中的每个元素由建议的得分和建议本身组成。每个拼写错误的术语的建议数组按得分降序排列。得分的计算方法是将建议的术语存在的文档数量除以索引中的文档总数。结果可以通过将得分除以最高得分进行归一化。
示例
对查询执行拼写校正
127.0.0.1:6379> FT.SPELLCHECK idx held DISTANCE 2
1) 1) "TERM"
2) "held"
3) 1) 1) "0.66666666666666663"
2) "hello"
2) 1) "0.33333333333333331"
2) "help"
另请参阅
FT.CONFIG SET
| FT.DICTADD
| FT.DICTDEL
| FT.DICTDUMP