gpt4 book ai didi

java - 如何在java中的 Elasticsearch Querybuilder中处理多个 'and' 'or'运算符

转载 作者:行者123 更新时间:2023-11-30 05:21:04 27 4
gpt4 key购买 nike

我有一个 POST 正文 JSON,其输入之一如下

    q = (a=1 and b=2 or c=3 and d=8)

我需要使用java形成一个querybuilder弹性查询

BoolQueryBuilder qb = QueryBuilders.boolQuery();
qb1= QueryBuilders.matchQuery("a", "1");
qb2= QueryBuilders.matchQuery("b", "2");
qb3= QueryBuilders.matchQuery("c", "1");
qb4= QueryBuilders.matchQuery("d", "1");

qb.must(qb1);
qb.must(qb2);
qb.should(qb3);
qb.must(qb4);

Elastic Search 是否会先处理 and 操作,然后再考虑 or 操作。

如何处理多个 and 和 or 组合(用户可以自由输入任何内容)。我是 Elasticsearch 新手,希望得到一些帮助

最佳答案

我认为bool查询可能对您有帮助

{
"bool" : {
"should" : [
{ "must" : { "term" : { "a" : "1" } } },
{ "must" : { "term" : { "b" : "1" } } }
]
"should" : [
{ "must" : { "term" : { "c" : "1" } } },
{ "must" : { "term" : { "d" : "1" } } }
]
}
}

关于java - 如何在java中的 Elasticsearch Querybuilder中处理多个 'and' 'or'运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59563354/

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