模糊性不符合Elasticsearch的预期

时间:2019-04-08 14:55:31

标签: elasticsearch elastic-stack fuzzy-search damerau-levenshtein

我正在尝试为我在Elasticsearch中进行的项目测试一些测试用例。模糊性查询给出的结果在特定情况下令人困惑: 在多匹配查询中搜索具有模糊性2的 Mall 关键字时,其也匹配 Mile

As per fuzziness documentation :-
=> 0 edits are allowed for string length is 0-2 .
=> 1 edit is allowed for  string length is 3-5.
=> 2 edits are allowed for string length greater than 5.

如果是这种情况,为什么 MILE MALL 相匹配,因为按照逻辑,只允许进行一次编辑,如果我们看到MALL-> MILE,则需要2次修改。 Elasticsearch表现是否符合预期,还是我在这里错过了一些东西? 我正在为该字段使用简单的空格分析器,并使用

查询
         {  "query": {
            "multi_match": {
                "query": "mall",
                "fields": [
                          "name"
                 ],
                 "fuzziness": 2
          } }}

1 个答案:

答案 0 :(得分:2)

突出显示的文档仅适用于您指定"fuzziness": "AUTO"的情况,否则,如果您指定常规数字(0、1或2),则该数字将被考虑(在您的情况下为2)< / p>