ElasticSearch索引中的原始数据大小

i2loujxw  于 2023-02-07  发布在  ElasticSearch
关注(0)|答案(1)|浏览(230)

如何计算索引所基于的原始数据大小?在/${INDEX_NAME}/_stats中,我可以看到索引的总大小:原始数据和索引结构。我如何检查原始数据的大小?
例如,我有一个1 MB的文件,其中包含一些文档。我将其索引到ES,总索引大小为1.3MB。当我有索引大小,并希望了解原始数据大小时,我如何进行反向工程?

brccelvz

brccelvz1#

Elasticsearch默认不保留源数据的大小,但是你可以配置Mapper Size Plugin来添加_size元数据字段,它保留源数据的字节大小。
启用后,所有索引的文档都将具有一个新字段"_size",其长度为_source document。例如:

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

相关问题