FT.SPELLCHECK
Syntax
FT.SPELLCHECK index query [DISTANCE distance] [TERMS INCLUDE | EXCLUDE dictionary [terms [terms ...]]] [DIALECT dialect]
- Available in:
- Redis Stack / Search 1.4.0
- Time complexity:
- O(1)
对查询进行拼写校正,返回拼写错误术语的建议
必需的参数
index
是与索引项相关的索引。
query
是搜索查询。
查看拼写检查了解更多详情。
可选参数
TERMS
指定自定义词典的包含(INCLUDE
)或排除(EXCLUDE
)。要了解更多关于管理自定义词典的信息,请参阅 FT.DICTADD
、FT.DICTDEL
和 FT.DICTDUMP
。
您可以指定多个包含和排除的TERMS
。
DISTANCE
是拼写建议的最大Levenshtein距离(默认值:1,最大值:4)。
DIALECT {dialect_version}
选择执行查询时所使用的方言版本。如果未指定,查询将在模块初始加载期间或通过FT.CONFIG SET
命令设置的默认方言版本下执行。
返回
FT.SPELLCHECK 返回一个数组回复,其中每个元素代表查询中的一个拼写错误的术语。拼写错误的术语按照它们在查询中出现的顺序排列。
每个拼写错误的术语,依次是一个由常量字符串 TERM
、术语本身和一个拼写纠正建议数组组成的3元素数组。
拼写纠正数组中的每个元素由建议的分数和建议本身组成。每个拼写错误的术语的建议数组按分数降序排列。
分数是通过将建议术语存在的文档数除以索引中的文档总数来计算的。可以通过将分数除以最高分数来归一化结果。
示例
Perform spelling correction on a query
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