繁体   English   中英

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

[英]Elasticsearch get results count of other indices with same query

我有一个从 Rails 服务器生成的具有多个索引的集群设置。 在我的服务器中,每个索引都是 model。

希望搜索单个索引,但根据我的查询 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"
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM