2017-05-17 5 views
0

Wie kann ich implizieren eine "sollte" Betrieb für ("tag" = "A" oder "Tag" = "B") und "name" = "cat"Elasticsearch sollte Betrieb Abfrage

wie?

BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery() 
.should(QueryBuilders.matchQuery("tag","A")) 
.shold(QueryBuilders.matchQuery("tag","B")) 

.must (QueryBuilders.matchQuery ("Name", "Katze"));

Antwort

1

Wenn Sie ("tag"="A" OR "tag"="B") and "name"="cat" tun möchten, können Sie wie folgt tun:

BoolQueryBuilder aOrB = QueryBuilders.boolQuery() 
.should(QueryBuilders.matchQuery("tag","A")) 
.should(QueryBuilders.matchQuery("tag","B")) 

BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery() 
.must(aOrB); 
.must(QueryBuilders.matchQuery("name","cat"));