我有一个 ES 查询,看起来像这样(我通过 Sense 运行它):
GET /asdf/qwer/_search
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{ "term": { "some_name": "some_value" } }
]
}
}
}
}
}
该查询有大量结果。我真正需要知道的是这些结果在我的集群中占用了多少空间。有什么办法可以从 ES 中得到这种统计数据吗?
我认为这在 ES 中是不可能的。
也许您可以通过查看与索引相关的统计信息来推断,这些统计信息被考虑了多少个文档,然后对这些文档的子集进行近似计算(给定查询返回的文档数量)。
GET /_stats/store,docs?index=test
这可以使用 _size 字段实现。
GET /asdf/qwer/_search
{
"size": 0,
"query": {
"match_all": {}
},
"fields": [
"_size"
],
"aggs": {
"total_size": {
"sum": {
"field": "_size"
}
}
}
}