索引中多种类型的 Elasticsearch 分页

Elastic search paginating on multiple types in an index

我有一个包含多种类型的索引,如下所示:

我正在构建一个 API 来建议按类型分组的索引项,问题是我想在每个聚合中有一个 size 功能,就像 completion suggester 方法一样returns 每种类型的确切项目数。我最终使用多索引查询方法分别查询每种类型,有没有更好的方法来处理这个问题?

您指定的每个聚合都可以有一个与之关联的过滤器,因此您可以 以这种方式将聚合的上下文减少到特定类型。此外, 您可以使用 filters 聚合为每个过滤器创建桶,并且 运行 每个子桶上具有一定大小的聚合,如下所示:

GET /_search { "aggs": { "alltypes": { "filters": { "filters": { "songs": {"term": {"_type": "songs"}}, "books": {"term": {"_type": "books"}}, "movies": {"term": {"_type": "movies"}} } }, "aggs": { ... your aggregation for each individual type here ... } } } }

有关 filters 聚合的更多信息,请访问 http://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filters-aggregation.html

希望对您有所帮助,如果我误解了您的问题请告诉我(这是一个 不太确定你是在谈论建议者还是聚合,因为 两者都在问题中提到了)。