【发布时间】:2023-02-06 17:42:27
【问题描述】:
如何计算索引所基于的原始数据大小?在 /${INDEX_NAME}/_stats 中,我可以看到索引的总大小:原始数据和索引结构。如何检查原始数据大小?
例如,我有一个包含一些文档的 1MB 文件。我将它索引到 ES,总索引大小为 1.3 MB。当我有索引大小并且想了解原始数据大小时,如何进行逆向工程?
【问题讨论】:
标签: elasticsearch
如何计算索引所基于的原始数据大小?在 /${INDEX_NAME}/_stats 中,我可以看到索引的总大小:原始数据和索引结构。如何检查原始数据大小?
例如,我有一个包含一些文档的 1MB 文件。我将它索引到 ES,总索引大小为 1.3 MB。当我有索引大小并且想了解原始数据大小时,如何进行逆向工程?
【问题讨论】:
标签: elasticsearch
Elasticsearch 默认不保留源数据大小。但是您可以配置 Mapper Size Plugin 添加 _size 元数据字段,以保持源数据大小的字节大小。
启用后,所有索引的文档都将有一个新字段“_size”,定义为_source文档的长度。例如:
GET my_index/_search?size=1&filter_path=hits.hits
退货:
{
"hits" : {
"hits" : [
{
"_index" : "my_index",
"_type" : "_doc",
"_id" : "123456789abcdef0",
"_score" : 1.0,
"_size" : 75,
"_source" : {
"@timestamp" : "2023-01-31T23:58:58.869Z",
"content" : {
"att1": "val1"
}
}
}
]
}
}
此外,如果您想了解为什么索引大小为 1.3 MB,您可以使用 index disk usage API 来达到这个目的:
POST my_index/_disk_usage?run_expensive_tasks=true
【讨论】: