2017-04-06 115 views
0

我正在使用Elasticsearch 5.3。在Java客戶端中,我想使用AND邏輯將多個字段上的過濾器合併到一個存儲桶中。目前,過濾器彙總僅支持單個termQuery。如何在Java客戶端中編碼多個termQuery如何結合Elasticsearch中的多個過濾器聚合?

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

回答

0

你需要使用一個布爾查詢:

BoolQueryBuilder filters = QueryBuilders.boolQuery() 
    .filter(QueryBuilders.termQuery(FIELD_SESSION_ID, sessionId)) 
    .filter(QueryBuilders.termQuery(FIELD_XYZ, xyz)); 

AggregationBuilders.filter("specific_session", filters); 
相關問題