Elasticsearch-rails中同一级别的多个聚合

时间:2017-04-21 03:41:03

标签: ruby-on-rails elasticsearch elasticsearch-rails

我正在尝试使用elasticsearch-rails和elasticsearch-model gems在ElasticSearch的同一级别执行多个聚合。

在我生成的查询哈希中,我有以下内容 -

    def query_hash(params, current_person = nil, manager_id = nil)
      aggs = {}
      aggs[:home_country_id] = {terms: {field: "home_country_id"}}
      aggs[:home_region_id] = {terms: {field: "home_region_id"}}
      {
        sort: [ { created_at: { order: "desc" } }, id: { order: "desc" } ],
        aggs: aggs
      }
    end

我存储在对象es_response中的响应。

当我搜索两个聚合时,我只能找到响应中的最后一个。

es_response.response [“aggregrations”]仅包含最新聚合对象home_region_id的响应。

虽然有很多关于嵌套聚合的内容,但我找不到关于在同一级别上构建多个聚合的ES参考文献的大量文档。

我该如何解决这个问题?

我的ES版本是5.1

0 个答案:

没有答案