迁移ElasticSearch Java API FacetFilter(在早期版本中)以在ES v5.5.3中简化聚合

问题描述 投票:0回答:1

我正在使用Elasticsearch Java v0.93迁移到Grails应用程序到版本5.5.3。我面临的挑战之一是将Facet Filter迁移到类似的Aggregation

以下是早期版本的Elasticsearch Java API中的代码:

FacetBuilders
    .termsFacet("f").field("brand").size(50) // Your facet
    .allTerms(true)
    .facetFilter( // Your filter here
        FilterBuilders.boolFilter()
    );

根据Elasticsearch Java API,“Facets已被删除,建议使用filter aggregationfilters aggregation

谢谢!

elasticsearch aggregation elasticsearch-5 facet elasticsearch-aggregation
1个回答
1
投票

请尝试以下查询将facets迁移到Aggregation

AggregationBuilders.filter("Filter By Some Property", QueryBuilders.termQuery("some Field", "value"))
            .subAggregation(AggregationBuilders.terms("Group By Some Other property").field("brand").size(50));

在这里,您可以在filter方法中使用任何类型的查询。以Term Query为例。

希望能帮助到你!!

© www.soinside.com 2019 - 2024. All rights reserved.