首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >elasticsearch中的布尔模糊查询未返回预期结果

问elasticsearch中的布尔模糊查询未返回预期结果
EN

Stack Overflow用户
提问于 2019-07-22 10:20:02
回答 1查看 218关注 0票数 0

我正在尝试在elasticsearch 7.2.0中建立一个名字和姓氏的模糊布尔查询。我有一个文档,名字和姓氏分别是"asim“和"banskota”。但是,当我使用"asi“或"asimmm”以及确切的姓氏进行查询时,elasticsearch不返回任何结果。但是,当使用确切的名字或"asimm“进行查询时,它会返回文档中预期的结果。

我还写了一个“模糊”查询,而不是“匹配”。我用不同的模糊参数进行了实验,但结果是相同的。名字和姓氏都会被分析,我询问了“分析器”API wrt是如何分析“asim”的。它使用标准分析器将“asim”作为单个令牌对文档进行索引。

编辑:事实证明,模糊查询适用于‘替换’的情况,例如,当使用'asmi‘查询时,它返回'asim’的结果,但不返回删除的结果。这让我很惊讶,因为替换中的编辑距离比删除中的编辑距离大。当字符串长度较大时,例如姓氏'Banskota',模糊匹配也适用于'deletion‘的情况。我应该怎么做才能使模糊搜索在字符串长度为4或5的'deletion‘情况下工作?

代码语言:javascript
复制
fuzzy_body = {"size": 10, 
               "query":{
                   "bool":{
                      "must": [


                    {
                        "match":{"FIRST_NAME_N":{'query': 'asi',"fuzziness": "AUTO"}},

                    },

                   {
                   "fuzzy":{"LAST_NAME_N": "banskota"}
                   }
                      ]
                   }
               }
              }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-26 06:34:07

结果是,如果name字段被索引为关键字类型,查询将返回带有"AUTO“模糊性的预期结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57138465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档