作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 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/
我是一名优秀的程序员,十分优秀!