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"
}
}
我有一个包含多个索引的集群设置,从 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"
}
}