Elasticsearch
Поиск, индексы и документы Elasticsearch в процессах Pailot
Elasticsearch — распределённый поисковый движок: индексы, документы и аналитика. Блок ходит в API (Application Programming Interface — программный интерфейс) своего кластера или Elastic Cloud.
С Elasticsearch в Pailot вы можете:
- Искать документы через Query DSL (Domain Specific Language — язык запросов Elasticsearch)
- Индексировать, читать, частично обновлять и удалять документы
- Делать bulk (пакет операций в одном запросе) и считать совпадения
- Создавать и удалять индексы, смотреть здоровье и статистику кластера
Нужны тип развёртывания (self_hosted или cloud) и метод входа (api_key или basic_auth). Блок ставят на холст как отдельный шаг или прикрепляют к агенту. Секреты — в переменных окружения рабочего пространства.
Поиск документов по Query DSL: совпадения, оценки и метаданные.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
index | string | Да | Имя индекса |
query | string | Нет | Query DSL — строка JSON |
from | number | Нет | Смещение страницы (по умолчанию 0) |
size | number | Нет | Число результатов (по умолчанию 10) |
sort | string | Нет | Сортировка — строка JSON |
sourceIncludes | string | Нет | Поля _source через запятую — включить |
sourceExcludes | string | Нет | Поля _source через запятую — исключить |
trackTotalHits | boolean | Нет | Точный подсчёт совпадений (по умолчанию true) |
| Параметр | Тип | Описание |
|---|
took | number | Время поиска в миллисекундах |
timed_out | boolean | Поиск превысил таймаут |
hits | object | Результаты: число совпадений и документы |
aggregations | json | Агрегации, если были |
Индексировать документ (создать или обновить).
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
index | string | Да | Целевой индекс |
documentId | string | Нет | ID документа (если пусто — сгенерируется) |
document | string | Да | Тело документа — строка JSON |
refresh | string | Нет | Политика refresh: true, false или wait_for |
| Параметр | Тип | Описание |
|---|
_index | string | Индекс, куда записали документ |
_id | string | ID документа |
_version | number | Версия документа |
result | string | Результат (created или updated) |
Прочитать документ по ID.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
index | string | Да | Имя индекса |
documentId | string | Да | ID документа |
sourceIncludes | string | Нет | Поля через запятую — включить |
sourceExcludes | string | Нет | Поля через запятую — исключить |
| Параметр | Тип | Описание |
|---|
_index | string | Имя индекса |
_id | string | ID документа |
_version | number | Версия документа |
found | boolean | Документ найден |
_source | json | Содержимое документа |
Частично обновить документ слиянием полей.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
index | string | Да | Имя индекса |
documentId | string | Да | ID документа |
document | string | Да | Частичный документ для слияния — строка JSON |
retryOnConflict | number | Нет | Число повторов при конфликте версии |
| Параметр | Тип | Описание |
|---|
_index | string | Имя индекса |
_id | string | ID документа |
_version | number | Новая версия документа |
result | string | Результат (updated или noop) |
Удалить документ по ID.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
index | string | Да | Имя индекса |
documentId | string | Да | ID документа |
refresh | string | Нет | Политика refresh: true, false или wait_for |
| Параметр | Тип | Описание |
|---|
_index | string | Имя индекса |
_id | string | ID документа |
_version | number | Версия документа |
result | string | Результат (deleted или not_found) |
Несколько операций index, create, delete или update в одном запросе.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
index | string | Нет | Индекс по умолчанию, если в операции не указан |
operations | string | Да | Операции bulk — строка NDJSON (JSON по строкам) |
refresh | string | Нет | Политика refresh: true, false или wait_for |
| Параметр | Тип | Описание |
|---|
took | number | Время операции в миллисекундах |
errors | boolean | Были ли ошибки в операциях |
items | array | Результат каждой операции |
Число документов, подходящих под запрос.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
index | string | Да | Индекс для подсчёта |
query | string | Нет | Необязательный фильтр — строка JSON |
| Параметр | Тип | Описание |
|---|
count | number | Число документов по запросу |
_shards | object | Статистика шардов |
Создать индекс с необязательными settings и mappings.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
index | string | Да | Имя нового индекса |
settings | string | Нет | Настройки индекса — строка JSON |
mappings | string | Нет | Маппинги индекса — строка JSON |
| Параметр | Тип | Описание |
|---|
acknowledged | boolean | Запрос принят |
shards_acknowledged | boolean | Шарды подтверждены |
index | string | Имя созданного индекса |
Удалить индекс и все его документы. Операция необратима.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
index | string | Да | Имя индекса |
| Параметр | Тип | Описание |
|---|
acknowledged | boolean | Удаление подтверждено |
Информация об индексе: settings, mappings и aliases.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
index | string | Да | Имя индекса |
| Параметр | Тип | Описание |
|---|
index | json | Данные индекса: aliases, mappings и settings |
Здоровье кластера Elasticsearch.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
waitForStatus | string | Нет | Ждать статус: green, yellow или red |
timeout | string | Нет | Таймаут ожидания (например, 30s, 1m) |
| Параметр | Тип | Описание |
|---|
cluster_name | string | Имя кластера |
status | string | Статус: green, yellow или red |
number_of_nodes | number | Всего узлов |
number_of_data_nodes | number | Число узлов данных |
active_shards | number | Активные шарды |
unassigned_shards | number | Неназначенные шарды |
Сводная статистика кластера.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
| Параметр | Тип | Описание |
|---|
cluster_name | string | Имя кластера |
status | string | Статус здоровья |
nodes | object | Статистика узлов: число и версии |
indices | object | Статистика индексов: документы и размер |
Список индексов: здоровье, статус и статистика.
| Параметр | Тип | Обязательный | Описание |
|---|
deploymentType | string | Да | Тип развёртывания: self_hosted или cloud |
host | string | Нет | URL узла Elasticsearch (для self_hosted) |
cloudId | string | Нет | Cloud ID Elastic (для cloud) |
authMethod | string | Да | Метод входа: api_key или basic_auth |
apiKey | string | Нет | Ключ API Elasticsearch |
username | string | Нет | Имя пользователя для basic auth |
password | string | Нет | Пароль для basic auth |
| Параметр | Тип | Описание |
|---|
message | string | Краткое сообщение по индексам |
indices | json | Массив сведений об индексах |