我正在使用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 aggregation或filters aggregation。
谢谢!
答案 0 :(得分: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
为例。
希望有帮助!