如何在Elasticsearch中组合多个过滤器聚合?

时间:2017-04-06 11:21:39

标签: elasticsearch

我正在使用Elasticsearch 5.3。在Java客户端中,我想使用AND逻辑将多个字段上的过滤器用于单个存储桶中。目前,过滤器聚合仅支持单termQuery。如何在Java客户端中编写多个termQuery

AggregationBuilders.filter("specific_session", QueryBuilders.termQuery(FIELD_SESSION_ID, sessionId));

1 个答案:

答案 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);