如何获取ElasticSearch匹配查询的数据总大小?

问题描述 投票:0回答:2

我有一个 ES 查询,看起来像这样(我通过 Sense 运行它):

GET /asdf/qwer/_search
{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            { "term": { "some_name": "some_value" } }
          ]
        }
      }
    }
  }
}

该查询有大量结果。我真正需要知道的是这些结果在我的集群中占用了多少空间。有什么办法可以从 ES 中得到这种统计数据吗?

elasticsearch
2个回答
0
投票

我认为这在 ES 中是不可能的。

也许您可以通过查看与索引相关的统计信息来推断,这些统计信息被考虑了多少个文档,然后对这些文档的子集进行近似计算(给定查询返回的文档数量)。

GET /_stats/store,docs?index=test

0
投票

这可以使用 _size 字段实现。

GET /asdf/qwer/_search
{
    "size": 0,
    "query": {
        "match_all": {}
    },
    "fields": [
        "_size"
    ],
    "aggs": {
        "total_size": {
            "sum": {
                "field": "_size"
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.