在elasticsearch中的字符串数组中搜索精确字段

在elasticsearch中的字符串数组中搜索精确字段,第1张

在elasticsearch中的字符串数组中搜索精确字段

问题是由于您正在使用该

text
字段和
match
查询。

对匹配查询进行分析,并使用与索引时使用的搜索词相同的分析器,对于字段,这是标准分析器

text
。在您的情况下,如果在空白处打断文本,
LandkreisCloppenburg
将创建两个标记
landkreis
cloppenburg
同时创建索引和搜索时间,甚至
cloppenburg
匹配文档。

解决方案:使用

keyword field

索引定义

{    "mappings": {        "properties": { "location": {     "type": "keyword" }        }    }}

为两个文档建立索引,然后使用相同的搜索查询

{    "query": {        "bool": { "must": [     {         "match": {  "location": {      "query": "Cloppenburg"  }         }     } ]        }    }

}

结果

 "hits": [ {     "_index": "location",     "_type": "_doc",     "_id": "2",     "_score": 0.6931471,     "_source": {         "location": "Cloppenburg"     } }        ]


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4886961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-11
下一篇 2022-11-11

发表评论

登录后才能评论

评论列表(0条)

保存