Elasticsearch对索引中的多个类型进行分页

时间:2015-04-14 08:25:26

标签: elasticsearch autocomplete full-text-search search-suggestion

我的索引有多种类型,如下所示:

  • 歌曲

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

1 个答案:

答案 0 :(得分:1)

您指定的每个聚合都可以有一个与之关联的过滤器,所以您可以 以这种方式将聚合的上下文减少到特定类型。另外, 您可以使用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

希望这有帮助,如果我误解了你的问题,请告诉我(这是一个问题 你不确定自那以后是否在谈论建议者或聚合 两个都在问题中提到。