在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ elasticsearch用spring data聚合查詢,過濾條件不生效

elasticsearch用spring data聚合查詢,過濾條件不生效

/**
 * 聚合查詢
 * @return list
 */
public List<UserResponseVO> listConditionsAggregations() {
    TermsAggregationBuilder builder = AggregationBuilders.terms("interests").field("interests");
    SearchQuery query = new NativeSearchQueryBuilder()
            .withQuery(QueryBuilders.matchQuery("lastName","smith"))  // 此處條件不生效
            .addAggregation(builder.subAggregation(AggregationBuilders.filter("interests",QueryBuilders.matchQuery("lastName","smith"))))
            .build();
    Aggregations aggregations = elasticsearchTemplate.query(query, new ResultsExtractor<Aggregations>() {
        @Override
        public Aggregations extract(SearchResponse response) {
            return response.getAggregations();
        }
    });

    List<UserResponseVO> list = new ArrayList<>();
    Terms terms = aggregations.get("interests");
    Iterator<Terms.Bucket> iterator = (Iterator<Terms.Bucket>) terms
            .getBuckets().iterator();
    while (iterator.hasNext()) {
        MultiBucketsAggregation.Bucket bucket = iterator.next();
        UserResponseVO user = new UserResponseVO((String) bucket.getKey(), (int) bucket.getDocCount());
        list.add(user);
    }
    return list;
}
回答
編輯回答
初念

clipboard.png

是數(shù)據(jù)的問題,屬性設置 fielddata = true,即生效

2018年6月30日 05:14