ES中的拼写纠错是如何实现的
模糊查询:fuzzy
GET <index>/_search{
"query":{
"fuzzy":{
"<index>":{
"value":"<keyword>"
}
}
}
}
参数
- value ,(必须,关键字);
- fuzziness,编辑距离 (0,1,2) 并非越大越好,召回高但不准确;
- 两字段文本之间的 Damerau-Levenshtein 距离是使一个字符串和另一个字符串的匹配插入、删除、替换和调换的数量;
- 距离公式 Levenshtein是lucene的 es改进版:Damerau-Levenshteir;
- transpostions:(可选,布尔值)指示编辑是否包括两个相邻字符的变位,默认为 true;
ES模糊查询中的拼写纠错原理与参数详解
本文详细解释了在Elasticsearch(ES)中如何使用模糊查询(fuzzy)功能进行拼写纠错,包括fuzziness参数的设定、编辑距离(如Damerau-Levenshtein)的应用以及Lucene的改进。着重介绍了如何调整参数以达到召回率和准确性之间的平衡。
3378





