将 ElasticSearch Java API FacetFilter(早期版本)迁移到 ES v5.5.3 中的类似聚合
Migrating ElasticSearch Java API FacetFilter (in early version) to simliar Aggregation in ES v5.5.3
我正在将使用 Elasticsearch Java v0.93 的 Grails 应用程序迁移到版本 5.5.3。我面临的挑战之一是迁移 Facet Filter to a similar 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 or filters aggregation。
谢谢!
请尝试以下查询将 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
作为示例。
希望对您有所帮助!!
我正在将使用 Elasticsearch Java v0.93 的 Grails 应用程序迁移到版本 5.5.3。我面临的挑战之一是迁移 Facet Filter to a similar 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 or filters aggregation。
谢谢!
请尝试以下查询将 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
作为示例。
希望对您有所帮助!!