gpt4 book ai didi

elasticsearch - ElasticSearch查询可一次过滤单个值和值列表

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

我想做一个ElasticSearch查询,在它的过滤器中获取一个参数,有时这个参数是一个单一值,有时是一个值列表,我知道当它是一个单一值时,应使用“term”,何时使用是我应该使用“术语”的列表。但是我想要一个可以处理这两件事的查询,然后将一个值或一个列表传递给它,然后返回结果。 [全部查询],您对如何执行此操作有任何想法吗?

query for single value:    
{'filter': {
'and': [
{'term': {'first': 1}},
{'term': {'second': 1}},
]
},
}

查询列表:
{'filter': {
'and': [
{'terms': {'first': [1,2,3]}},
{'terms': {'second': [1,2,3]}},
]
},
}

但我想一个查询来处理两者。

最佳答案

使用键值为“should”的 bool(boolean) 查询将导致返回与任一子句匹配的文档。

{
"filter": {
"bool": {
"should": [
{
"terms": {
"first": "[1, 2]"
}
},
{
"terms": {
"second": "[2, 3]"
}
}
]
}
}
}

有关更多示例,请查看 https://github.com/rcullito/elasticSearchQueries

关于elasticsearch - ElasticSearch查询可一次过滤单个值和值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24190442/

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