我正在使用Elasticsearch 5.3。在Java客户端中,我想使用AND
逻辑将多个字段上的过滤器用于单个存储桶中。目前,过滤器聚合仅支持单termQuery
。如何在Java客户端中编写多个termQuery
?
AggregationBuilders.filter("specific_session", QueryBuilders.termQuery(FIELD_SESSION_ID, sessionId));
答案 0 :(得分:0)
您需要使用bool查询:
BoolQueryBuilder filters = QueryBuilders.boolQuery()
.filter(QueryBuilders.termQuery(FIELD_SESSION_ID, sessionId))
.filter(QueryBuilders.termQuery(FIELD_XYZ, xyz));
AggregationBuilders.filter("specific_session", filters);