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

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

Справочник по новым API

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

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

resp = client.indices.segments(
    index="my-index-000001",
)
print(resp)
response = client.indices.segments(
  index: 'my-index-000001'
)
puts response
const response = await client.indices.segments({
  index: "my-index-000001",
});
console.log(response);
GET /my-index-000001/_segments

Запрос

GET /<target>/_segments

GET /_segments

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

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

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

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

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

<vector_formats>
(Необязательно, булево) Если true, список форматов векторов, используемых полями в каждом сегменте, включается в выходные данные attributes. По умолчанию false.
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.

Тело ответа

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

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

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

search

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

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

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

Примеры

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

resp = client.indices.segments(
    index="test",
)
print(resp)
response = client.indices.segments(
  index: 'test'
)
puts response
const response = await client.indices.segments({
  index: "test",
});
console.log(response);
GET /test/_segments

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

resp = client.indices.segments(
    index="test1,test2",
)
print(resp)
response = client.indices.segments(
  index: 'test1,test2'
)
puts response
const response = await client.indices.segments({
  index: "test1,test2",
});
console.log(response);
GET /test1,test2/_segments

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

resp = client.indices.segments()
print(resp)
response = client.indices.segments
puts response
const response = await client.indices.segments();
console.log(response);
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,
                "committed": false,
                "search": true,
                "version": "7.0.0",
                "compound": true,
                "attributes": {
                }
              }
            }
          }
        ]
      }
    }
  }
}

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

Spec-Zone.ru

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