gpt4 book ai didi

elasticsearch - 如何在Elasticsearch中的字符串列表中搜索?

转载 作者:行者123 更新时间:2023-12-03 02:03:44 25 4
gpt4 key购买 nike

我的数据有一个字段局部性,它是一个字符串数组。

"localities": [
"Mayur Vihar Phase 1",
"Paschim Vihar",
"Rohini",
"",
"Laxmi Nagar",
"Vasant Vihar",
"Dwarka",
"Karol Bagh",
"Inderlok" ]

我应该编写哪种查询来按特定的地理位置(例如“Rohini”)过滤文档?

最佳答案

一个简单的match查询就足够了(如果您不知道localities字段的映射)。

POST <your index>/_search
{
"query": {
"match": {
"localities": "Rohini"
}
}
}

如果将 localities字段设置为 string类型,并且将 index设置为 not_analyzed,则查询此问题的最佳方法是使用 term过滤器,该过滤器包装在 filtered查询中(您不能直接使用过滤器):
POST <your index>/_search
{
"query": {
"filtered": {
"filter": {
"term": {
"localities": "Rohini"
}
}
}
}
}

如果您不需要分数,第二种解决方案是采用方法,因为过滤器不计算分数,速度更快且可以缓存。

检查文档以获取有关分析的信息,这是ElasticSearch中非常重要的主题,在很大程度上影响您的查询方式。

关于elasticsearch - 如何在Elasticsearch中的字符串列表中搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29011086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com