Elasticsearch fuzzy query -- 模糊查询
摘要
返回包含与搜索字词相似的字词文档;为了找到相似的术语,fuzzy查询将在指定的编辑距离内创建一组搜索词的所有可能的变体或扩展。查询然后返回每个扩展的完全匹配。
如果search.allow_expensive_queries
设置为false
,则不会执行模糊查询。
编辑距离,是将一个术语转换成另一个术语所需更改一个字符的次数(Levenshtein编辑距离衡量)。这些更改可以包括:
- 更改字符,
box → fox
- 删除字符,
black → lack
- 插入字符,
sic → sick
- 转置两个字符,
act → cat
为了查找相似的术语,模糊查询会创建一个集合用来列举所有可能的变体和扩展,染灰返回每个扩展的完全匹配。
参数
field
,想要搜索的字段
field 下级参数
value
,必填项,希望在field中找到的术语fuzziness
,选填项,匹配允许的最大编辑距离;