【问题标题】:Raw data size in elasticsearch index弹性搜索索引中的原始数据大小
【发布时间】:2023-02-06 17:42:27
【问题描述】:

如何计算索引所基于的原始数据大小?在 /${INDEX_NAME}/_stats 中,我可以看到索引的总大小:原始数据和索引结构。如何检查原始数据大小?

例如,我有一个包含一些文档的 1MB 文件。我将它索引到 ES,总索引大小为 1.3 MB。当我有索引大小并且想了解原始数据大小时,如何进行逆向工程?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-07
      • 2016-10-24
      相关资源
      最近更新 更多