Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›API индексов

API анализа использования дискового пространства индекса

Эта функциональность находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.

Новая справка по API

Для получения самых последних данных об API обратитесь к API индексов.

Анализирует использование дискового пространства каждого поля в индексе или потоке данных. Этот API может не поддерживать индексы, созданные в предыдущих версиях Elasticsearch. Результат для небольших индексов может быть неточным, поскольку некоторые части индекса могут не быть проанализированы API.

resp = client.indices.disk_usage(
    index="my-index-000001",
    run_expensive_tasks=True,
)
print(resp)
response = client.indices.disk_usage(
  index: 'my-index-000001',
  run_expensive_tasks: true
)
puts response
const response = await client.indices.diskUsage({
  index: "my-index-000001",
  run_expensive_tasks: "true",
});
console.log(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
Соответствие скрытым потокам данных и скрытым индексам. Должно быть комбинировано с open, closed или обоими.
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, что означает ожидание активации каждого первичного фрагмента.

См. Активные фрагменты.

Примеры

resp = client.indices.disk_usage(
    index="my-index-000001",
    run_expensive_tasks=True,
)
print(resp)
response = client.indices.disk_usage(
  index: 'my-index-000001',
  run_expensive_tasks: true
)
puts response
const response = await client.indices.diskUsage({
  index: "my-index-000001",
  run_expensive_tasks: "true",
});
console.log(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, вероятно, завышен.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/indices-disk-usage.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API