分析索引磁盘使用量 API

编辑

分析索引磁盘使用量 API编辑

此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。

分析索引或数据流中每个字段的磁盘使用情况。此 API 可能不支持在先前 Elasticsearch 版本中创建的索引。小型索引的结果可能不准确,因为 API 可能不会分析索引的某些部分。

response = client.indices.disk_usage(
  index: 'my-index-000001',
  run_expensive_tasks: true
)
puts response
POST /my-index-000001/_disk_usage?run_expensive_tasks=true

请求编辑

POST /<target>/_disk_usage

先决条件编辑

  • 如果启用了 Elasticsearch 安全功能,则您必须对目标索引、数据流或别名具有 manage 索引权限

路径参数编辑

<target>
(必填,字符串)用于限制请求的数据流、索引和别名的逗号分隔列表。建议对单个索引(或数据流的最新后备索引)执行此 API,因为 API 会消耗大量资源。

查询参数编辑

allow_no_indices

(可选,布尔值)如果为 false,则如果任何通配符表达式、索引别名_all 值仅针对缺少或关闭的索引,则请求将返回错误。即使请求针对其他打开的索引,此行为也适用。例如,如果索引以 foo 开头但没有索引以 bar 开头,则针对 foo*,bar* 的请求将返回错误。

默认为 true

expand_wildcards

(可选,字符串)通配符模式可以匹配的索引类型。如果请求可以定位数据流,则此参数确定通配符表达式是否匹配隐藏数据流。支持逗号分隔值,例如 open,hidden。有效值为

all
匹配任何数据流或索引,包括 隐藏的 数据流或索引。
open
匹配打开的、非隐藏的索引。也匹配任何非隐藏数据流。
closed
匹配关闭的、非隐藏的索引。也匹配任何非隐藏数据流。数据流不能关闭。
hidden
匹配隐藏数据流和隐藏索引。必须与 openclosed 或两者结合使用。
none
不接受通配符模式。

默认为 open

flush
(可选,布尔值)如果为 true,则 API 会在分析之前执行刷新。如果为 false,则响应可能不包括未提交的数据。默认为 true
ignore_unavailable
(可选,布尔值)如果为 false,则如果请求针对缺少或关闭的索引,则请求将返回错误。默认为 false
run_expensive_tasks
(必填,布尔值)分析字段磁盘使用量非常耗费资源。要使用 API,必须将此参数设置为 true。默认为 false
wait_for_active_shards

(可选,字符串)在继续操作之前必须处于活动状态的分片副本数。设置为 all 或任何正整数,最大为索引中的分片总数 (number_of_replicas+1)。默认值:1,即主分片。

请参阅 活动分片

示例编辑

response = client.indices.disk_usage(
  index: 'my-index-000001',
  run_expensive_tasks: true
)
puts response
POST /my-index-000001/_disk_usage?run_expensive_tasks=true

API 返回

{
    "_shards": {
        "total": 1,
        "successful": 1,
        "failed": 0
    },
    "my-index-000001": {
        "store_size": "929mb", 
        "store_size_in_bytes": 974192723,
        "all_fields": {
            "total": "928.9mb", 
            "total_in_bytes": 973977084,
            "inverted_index": {
                "total": "107.8mb",
                "total_in_bytes": 113128526
            },
            "stored_fields": "623.5mb",
            "stored_fields_in_bytes": 653819143,
            "doc_values": "125.7mb",
            "doc_values_in_bytes": 131885142,
            "points": "59.9mb",
            "points_in_bytes": 62885773,
            "norms": "2.3kb",
            "norms_in_bytes": 2356,
            "term_vectors": "2.2kb",
            "term_vectors_in_bytes": 2310,
            "knn_vectors": "0b",
            "knn_vectors_in_bytes": 0
        },
        "fields": {
            "_id": {
                "total": "49.3mb",
                "total_in_bytes": 51709993,
                "inverted_index": {
                    "total": "29.7mb",
                    "total_in_bytes": 31172745
                },
                "stored_fields": "19.5mb", 
                "stored_fields_in_bytes": 20537248,
                "doc_values": "0b",
                "doc_values_in_bytes": 0,
                "points": "0b",
                "points_in_bytes": 0,
                "norms": "0b",
                "norms_in_bytes": 0,
                "term_vectors": "0b",
                "term_vectors_in_bytes": 0,
                "knn_vectors": "0b",
                "knn_vectors_in_bytes": 0
            },
            "_primary_term": {...},
            "_seq_no": {...},
            "_version": {...},
            "_source": {
                "total": "603.9mb",
                "total_in_bytes": 633281895,
                "inverted_index": {...},
                "stored_fields": "603.9mb", 
                "stored_fields_in_bytes": 633281895,
                "doc_values": "0b",
                "doc_values_in_bytes": 0,
                "points": "0b",
                "points_in_bytes": 0,
                "norms": "0b",
                "norms_in_bytes": 0,
                "term_vectors": "0b",
                "term_vectors_in_bytes": 0,
                "knn_vectors": "0b",
                "knn_vectors_in_bytes": 0
            },
            "context": {
                "total": "28.6mb",
                "total_in_bytes": 30060405,
                "inverted_index": {
                    "total": "22mb",
                    "total_in_bytes": 23090908
                },
                "stored_fields": "0b",
                "stored_fields_in_bytes": 0,
                "doc_values": "0b",
                "doc_values_in_bytes": 0,
                "points": "0b",
                "points_in_bytes": 0,
                "norms": "2.3kb",
                "norms_in_bytes": 2356,
                "term_vectors": "2.2kb",
                "term_vectors_in_bytes": 2310,
                "knn_vectors": "0b",
                "knn_vectors_in_bytes": 0
            },
            "context.keyword": {...},
            "message": {...},
            "message.keyword": {...}
        }
    }
}

仅索引的已分析分片的存储大小。

索引的已分析分片的字段总大小。此总数通常小于 <1> 中指定的索引大小,因为某些小的元数据文件被忽略,并且数据文件的某些部分可能未被 API 扫描。

_id 字段的存储大小

_source 字段的存储大小。由于存储字段以压缩格式存储在一起,因此存储字段的大小是估计值,可能不准确。_id 字段的存储大小可能会被低估,而 _source 字段的存储大小可能会被高估。