Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›REST API ›Индексы API

API сегментов индекса

Возвращает низкоуровневую информацию о сегментах Lucene в фрагментах индекса. Для потоков данных API возвращает информацию об индексах, которые лежат в основе потока.

GET /my-index-000001/_segments

Запрос

GET /<target>/_segments

GET /_segments

Предварительные условия

  • Если включены функции безопасности Elasticsearch, у вас должны быть права monitor или manage на индекс для целевого потока данных, индекса или псевдонима.

Параметры пути

<target>
(Необязательный, строка) Список потоков данных, индексов и псевдонимов, разделенных запятыми, используемый для ограничения запроса. Поддерживаются подстановочные знаки (*). Чтобы нацелиться на все потоки данных и индексы, опустите этот параметр или используйте * или _all.

Параметры запроса

allow_no_indices

(Необязательный, булево) Если false, запрос возвращает ошибку, если какое-либо подстановочное выражение, псевдоним индекса или _all значение нацелено только на отсутствующие или закрытые индексы. Это поведение действует даже если запрос нацелен на другие открытые индексы. Например, запрос, нацеленный на foo*,bar*, возвращает ошибку, если индекс начинается с foo, но нет индекса, начинающегося с bar.

По умолчанию true.

expand_wildcards

(Необязательный, строка) Тип индекса, с которым могут совпадать шаблоны подстановочных знаков. Если запрос может нацеливаться на потоки данных, этот аргумент определяет, соответствуют ли подстановочные выражения скрытым потокам данных. Поддерживаются значения, разделенные запятыми, такие как open,hidden. Допустимые значения:

all
Совпадение с любым потоком данных или индексом, включая скрытые.
open
Совпадение с открытыми, нескрытыми индексами. Также соответствует любому нескрытому потоку данных.
closed
Совпадение с закрытыми, нескрытыми индексами. Также соответствует любому нескрытому потоку данных. Потоки данных не могут быть закрыты.
hidden
Совпадение со скрытыми потоками данных и скрытыми индексами. Должно быть объединено с open, closed или обоими.
none
Шаблоны подстановочных знаков не принимаются.

По умолчанию open.

ignore_unavailable
(Необязательный, булево) Если false, запрос возвращает ошибку, если он нацелен на отсутствующий или закрытый индекс. По умолчанию false.
verbose
[preview] Эта функциональность находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над исправлением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA. (Необязательный, булево) Если true, ответ содержит подробную информацию об использовании памяти Lucene. По умолчанию false.

Тело ответа

<segment>
(Строка) Название сегмента, например, _0. Название сегмента получено из номера поколения сегмента и используется внутри для создания имен файлов в каталоге фрагмента.
generation
(Целое число) Номер поколения, например, 0. Elasticsearch увеличивает этот номер поколения для каждого записанного сегмента. Затем Elasticsearch использует это число для вывода имени сегмента.
num_docs
(Целое число) Количество документов, указанных в Lucene. Это исключает удаленные документы и отдельно учитывает любые вложенные документы от их родителей. Также исключает документы, которые были недавно проиндексированы и еще не принадлежат сегменту.
deleted_docs
(Целое число) Количество удаленных документов, указанных Lucene, которое может быть больше или меньше, чем количество операций удаления, которые вы выполнили. Это число исключает удаления, которые были выполнены недавно и еще не принадлежат сегменту. Удаленные документы обрабатываются автоматическим процессом слияния, если это имеет смысл. Кроме того, Elasticsearch создает дополнительные удаленные документы для внутреннего отслеживания недавней истории операций в фрагменте.
size_in_bytes
(Целое число) Объем памяти, используемый сегментом, например, 50kb.
memory_in_bytes

(Целое число) Байты данных сегмента, хранящиеся в памяти для эффективного поиска, например, 1264.

Значение -1 указывает, что Elasticsearch не смог вычислить это число.

committed

(Булево) Если true, сегменты синхронизируются на диск. Синхронизированные сегменты могут пережить жесткий перезапуск.

Если false, данные из незавершенных сегментов также сохраняются в журнале транзакций, чтобы Elasticsearch мог воспроизвести изменения при следующем запуске.

search

(Булево) Если true, сегмент подлежит поиску.

Если false, сегмент, скорее всего, был записан на диск, но требуется обновление для поиска.

version
(Строка) Версия Lucene, используемая для записи сегмента.
compound
(Булево) Если true, Lucene объединил все файлы из сегмента в один файл для экономии дескрипторов файлов.
attributes
(Объект) Содержит информацию о том, был ли включен сжатие высокого уровня.

Примеры

Получение информации о сегментах для определенного потока данных или индекса

GET /test/_segments

Получение информации о сегментах для нескольких потоков данных и индексов

GET /test1,test2/_segments

Получение информации о сегментах для всех потоков данных и индексов в кластере

GET /_segments

API возвращает следующий ответ:

{
  "_shards": ...
  "indices": {
    "test": {
      "shards": {
        "0": [
          {
            "routing": {
              "state": "STARTED",
              "primary": true,
              "node": "zDC_RorJQCao9xf9pg3Fvw"
            },
            "num_committed_segments": 0,
            "num_search_segments": 1,
            "segments": {
              "_0": {
                "generation": 0,
                "num_docs": 1,
                "deleted_docs": 0,
                "size_in_bytes": 3800,
                "memory_in_bytes": 1410,
                "committed": false,
                "search": true,
                "version": "7.0.0",
                "compound": true,
                "attributes": {
                }
              }
            }
          }
        ]
      }
    }
  }
}

Режим подробной информации

Для добавления дополнительной информации, которая может использоваться для отладки, используйте флаг verbose.

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

GET /test/_segments?verbose=true

API возвращает следующий ответ:

{
  ...
    "_0": {
      ...
      "ram_tree": [
        {
          "description": "postings [PerFieldPostings(format=1)]",
          "size_in_bytes": 2696,
          "children": [
            {
              "description": "format 'Lucene50_0' ...",
              "size_in_bytes": 2608,
              "children" :[ ... ]
            },
            ...
          ]
        },
        ...
      ]

    }
  ...
}

© 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/7.17/indices-segments.html

Spec-Zone.ru

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