gpt4 book ai didi

elasticsearch - 寻找多个精确值

转载 作者:行者123 更新时间:2023-12-02 22:21:58 26 4
gpt4 key购买 nike

我想查询 flex 搜索,查询字段是否为列表之一
我如何在Elastic 6.0.0中做到这一点?
例如,这些是我的文件:

{"name" : "jim","company": "a"}
{"name" : "jack","company": "a"}
{"name" : "joe","company": "b"}
{"name" : "foo","company": "b"}
{"name" : "bar","company": "c"}
{"name" : "boe","company": "c"}
{"name" : "jee","company": "d"}


想要返回所有包含公司 ab的条目

我尝试了这个:
curl  -u elastic:password -XPOST 'localhost:9243/my-index/_search?size=2000&pretty' -H 'Content-Type: application/json' -d'
{
"size": 2000,
"query": {
"bool": {
"must": [
{"term": {"company": ["a","b"]}}

]
}
}
}'

但我收到一个错误 [term] query does not support array of values
注意:我需要一个允许使用数组的解决方案,因为我需要匹配约100个选项(在上面的示例中为100个公司)

最佳答案

Terms query是您的寻找。

term替换terms。术语不接受数组,而术语则接受。

{
"size": 2000,
"query": {
"bool": {
"must": [
{
"terms": {
"company": ["a","b"]
}
}
]
}
}
}

关于elasticsearch - 寻找多个精确值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54651957/

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