gpt4 book ai didi

java - 在单个搜索短语中使用“must”和“must_not”的有效方法是什么?

转载 作者:行者123 更新时间:2023-11-30 06:52:06 26 4
gpt4 key购买 nike

我是 ElasticSearch 的新手,目前正在研究“must”和“must_not”类型的搜索条件。我有以下查询 DSL:

curl -XPOST 'localhost:9200/employee/_search?pretty' -d '
{
"query": {
"bool": {
"must": [
{ "match": { "age": "40" } }
],
"must_not": [
{ "match": { "state": "ID" } }
]
}
}
}'

现在我的问题是,有什么方法可以优化上述查询吗?就像,如果我必须搜索多个必须和必须不条件,查询将变得非常大并且难以管理。有什么方法可以将“must”和“must_not”组合在一个搜索短语下?

最佳答案

据我所知,您可以使用“should”将多个匹配项放入“bool”语句中(不确定为什么它不能直接与一个“bool”语句一起使用):

编辑实际上要进行多个匹配,没有太复杂的请求,下面的内容应该可以正常工作:

{
"query": {
"bool":{
"must": [
{"match":{"age":"40"}},
{"match":{"name": "John"}}
]
, "must_not": [
{"match":{"age":"40"}},
{"match":{"name": "John"}}
]
}
}
}

不幸的是,mustmust_not 不能组合使用

关于java - 在单个搜索短语中使用“must”和“must_not”的有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42551522/

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