Взаимодействие с кластерами Opensearch через API

Консоль управления Платформы позволяет взаимодействовать с REST API Opensearch и подключаться ко всем управляемым кластерам в рамках инсталляции Платформы.

Для отправки запросов в Opensearch и просмотра ответов выберите операцию "Devtools", на новой странице откроется Devtools консоль. Справа находится поле со списком выбора кластера.

image
Рисунок 1.

В левой области напишите запрос и нажмите кнопку play grey. В правой области появится ответ от сервера.

С помощью кнопки "Открыть историю запросов" можно просмотреть список выполненных запросов, запустить нужный запрос, отредактировать или очистить историю запросов.

image
Рисунок 2.

Пример GET запроса:

Пример запроса: GET _cat/indices

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

image
Рисунок 3.

Пример PUT запроса:

Пример постоянного обновления:

image
Рисунок 4.

Пример временного обновления:

image
Рисунок 5.

В этом примере сбрасывается настройка. В ответе не указаны параметры, которые были сброшены:

image
Рисунок 6.

Вы также можете сбросить настройки с помощью подстановочных знаков. Например, чтобы сбросить все динамические настройки indices.recovery.*:

image
Рисунок 7.

Каждый созданный индекс может иметь специальные настройки, связанные с ним, определенные в теле запроса.

По умолчанию number_of_shards – 1

По умолчанию number_of_replicas – 1 (т.е. одна реплика для каждого праймари шарда).

image
Рисунок 8.

Пример DELETE запроса:

Если включены функции безопасности Opensearch, у вас должны быть привилегии доступа delete_index или manage для целевого индекса:

image
Рисунок 9.

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

<index>

(Запрос, строка) Список индексов, разделенных запятыми, или выражение с подстановочными знаками для удаления.

В этом параметре выражения с подстановочными знаками соответствуют только открытым конкретным индексам. Вы не можете удалить индекс, используя псевдоним.

Чтобы удалить все индексы, используйте _all или *. Чтобы запретить удаление индексов с _all выражениями или подстановочными знаками, измените параметр action.destructive_requires_name кластера на true. Вы можете обновить этот параметр в opensearch.yml файле или с помощью API настроек обновления кластера.

Вы не можете удалить текущий индекс записи потока данных. Чтобы удалить индекс, вы должны перезапустить поток данных, чтобы был создан новый индекс записи. Затем вы можете использовать API удаления индекса, чтобы удалить предыдущий индекс записи.

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

allow_no_indices

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

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

expand_wildcards

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

Допустимые значения:

  • all. Расширение для открытых и закрытых индексов, включая скрытые индексы.

  • open. Расширяться только до открытых индексов. По умолчанию open.

  • closed. Расширение только до закрытых индексов.

  • hidden. Расширение подстановочных знаков будет включать скрытые индексы. Должен сочетаться с open, closed или с обоими.

  • none. Выражения с подстановочными знаками не принимаются.

ignore_unavailable

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

master_timeout

(Необязательно, единицы времени) Период ожидания подключения к главному узлу. Если ответ не получен до истечения времени ожидания, запрос завершается сбоем и возвращает ошибку. По умолчанию 30s.

timeout

(Необязательно, единицы времени) Период ожидания ответа. Если ответ не получен до истечения времени ожидания, запрос завершается сбоем и возвращает ошибку. По умолчанию 30s.

Пример POST запроса:

При использовании POST /<target>/_doc/ формата запроса op_type автоматически устанавливается значение create, и операция индексации генерирует уникальный идентификатор для документа. API возвращает следующий результат:

image
Рисунок 10.