Elasticsearch 获取具有相同查询的其他索引的结果计数

Elasticsearch get results count of other indices with same query

我有一个包含多个索引的集群设置,从 rails 服务器生成。每个索引都是我服务器中的一个模型。

希望搜索单个索引,但根据我的查询获取其他索引(模型)的计数 json。这可能吗?

我使用的查询是从 searchkick 生成的,而且非常大,所以我不在这里发帖。我想弄清楚 aggs 是否满足我的需要,比如。如果可能的话,我想避免进行第二次查询

POST blog_index/_search
{ 
  "query": { ... }
  "aggs": {
    "results_count": { ... }
  }
}
=> What I would like to receive
{
  "aggregations": {
    "results_count": {
      "blogs": 123,
      "users": 234,
    }
  }
}

示例: 如果在 blog_index/_search 上执行 { "term": { "type": "funny" } },并且有 3 个用户使用该 type,我想将该计数作为我的 blog_index 查询的一部分

解决方案:可以在字段 _index.

上聚合
"group_by_index": {
  "terms": {
    "field": "_index",
    "size": "30"
  }
}