gpt4 book ai didi

elasticsearch - 按数组中的术语过滤

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

我正在尝试按Elasticsearch文档的数组中的术语进行过滤。这是文档的样子:

{
"name": "Foo",
"id": 10,
"industries": ["Tech", "Fashion"],
...
}

但是对于我尝试的各种基于过滤器的查询,我得到的结果为零。例如。:
$ curl -XGET 'http://localhost:9200/_search?pretty=true' -d '
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [{
"terms": {
"industries": ["Tech"],
"execution": "or"
}
}]
}
},
"query": {"match_all": {}}
}
},
"from": 0,
"size": 20
}
'

我已经尝试过十几种针对各种简化和过滤子句的查询,例如这是一个简化的:
$ curl -XGET 'http://localhost:9200/_search?pretty=true' -d '
{
"query": {
"filtered": {
"filter": {
"terms": {
"industries": ["Tech"],
"execution": "or"
}
}
}

},
"from": 0,
"size": 20
}
'

我在这里想念什么?

最佳答案

您在行业 Realm 使用什么分析仪?如果您使用默认值,则实际上会小写并拆分字符串,这可以解释为什么您的过滤器没有选择这些文档(例如,当仅存在“tech”时,它正在寻找“Tech”)。如果将映射设置为not_analyzed(或使用多字段选项),则可能会解决您的问题。

关于elasticsearch - 按数组中的术语过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23118460/

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