Я пытаюсь отправить запрос bool против моегоasticSearch, который отфильтровывает документы.Как я могу отфильтровать логические выражения, такие как (A и B и C), и (D, или E, или F), и G, с BooleanQueryBuilder Api в Java?Я пытался с методом фильтра, но я не получаю результатов обратно.Например:
Представьте себе A, B, C, D, E, F, G - это события, где атрибут «имя» должен соответствовать, например, «Робин».
private QueryBuilder getQueryBuilder() {
BoolQueryBuilder boolQueryBuilder1 = QueryBuilders
.boolQuery()
.filter(QueryBuilders.matchQuery(D).operator(Operator.OR))
.filter(QueryBuilders.matchQuery(E).operator(Operator.OR))
.filter(F);
BoolQueryBuilder boolQueryBuilder2 = QueryBuilders
.boolQuery()
.filter(QueryBuilders.matchQuery(A).operator(Operator.AND))
.filter(QueryBuilders.matchQuery(B).operator(Operator.AND))
.filter(QueryBuilders.matchQuery(C));
BoolQueryBuilder boolQueryBuilder3 = QueryBuilders
.boolQuery()
.filter(G);
BoolQueryBuilder boolQueryBuilder = QueryBuilders
.boolQuery()
.filter(boolQueryBuilder1)
.filter(boolQueryBuilder2)
.filter(boolQueryBuilder3);
return boolQueryBuilder;
}
Я знаюэтот пример не очень хорош, но я надеюсь, что вы мне поможете!Спасибо!