Справочник по обработчикам ingest
Пайплайн поглощения состоит из последовательности процессоров, которые применяются к документам по мере их поглощения в индекс. Каждый процессор выполняет определенную задачу, например, фильтрацию, преобразование или обогащение данных.
Каждый последующий процессор зависит от выходных данных предыдущего процессора, поэтому порядок процессоров важен. Измененные документы индексируются в Elasticsearch после применения всех процессоров.
Elasticsearch включает более 40 настраиваемых процессоров. Подстраницы в этом разделе содержат справочную документацию для каждого процессора. Чтобы получить список доступных процессоров, используйте API информации о узлах.
resp = client.nodes.info(
node_id="ingest",
filter_path="nodes.*.ingest.processors",
)
print(resp) response = client.nodes.info( node_id: 'ingest', filter_path: 'nodes.*.ingest.processors' ) puts response
const response = await client.nodes.info({
node_id: "ingest",
filter_path: "nodes.*.ingest.processors",
});
console.log(response); GET _nodes/ingest?filter_path=nodes.*.ingest.processors
Процессоры поглощения по категориям
Мы разбили доступные процессоры на этой странице по категориям и подытожили их функции. Это поможет вам найти подходящий процессор для вашей задачи.
Процессоры обогащения данных
Общие результаты
-
appendпроцессор - Добавляет значение к полю.
-
date_index_nameпроцессор - Направляет документы в правильный индекс, основанный на дате или метке времени в поле.
-
enrichпроцессор - Обогащает документы данными из другого индекса.
Обратитесь к Обогащение данных для подробных примеров использования enrich процессора для добавления данных из существующих индексов в входящие документы во время поглощения.
-
inferenceпроцессор - Использует машинное обучение для классификации и маркировки текстовых полей.
Конкретные результаты
-
attachmentпроцессор - Разбирает и индексирует двоичные данные, такие как PDF и документы Word.
-
circleпроцессор - Преобразует поле местоположения в поле Geo-Point.
-
community_idпроцессор - Вычисляет идентификатор сообщества для данных о сетевом потоке.
-
fingerprintпроцессор - Вычисляет хеш содержимого документа.
-
geo_gridпроцессор - Преобразует гео-сетки определений плиток или ячеек сетки в обычные прямоугольники или многоугольники, описывающие их форму.
-
geoipпроцессор - Добавляет информацию о географическом местоположении IPv4 или IPv6 адреса из базы данных Maxmind.
-
ip_locationпроцессор - Добавляет информацию о географическом местоположении IPv4 или IPv6 адреса из базы данных геолокации IP.
-
network_directionпроцессор - Вычисляет направление сети на основе исходного IP-адреса, целевого IP-адреса и списка внутренних сетей.
-
registered_domainпроцессор - Извлекает зарегистрированный домен (также известный как эффективный домен верхнего уровня или eTLD), поддомен и домен верхнего уровня из полного доменного имени (FQDN).
-
set_security_userпроцессор - Устанавливает пользовательские данные (такие как
username,roles,email,full_name,metadata,api_key,realmиauthentication_type) от текущего аутентифицированного пользователя в текущий документ путем предварительной обработки поглощения. -
uri_partsпроцессор - Разбирает строку универсального идентификатора ресурса (URI) и извлекает ее компоненты как объект.
-
urldecodeпроцессор - Декодирует строку URL.
-
user_agentпроцессор - Разбирает строки user-agent для извлечения информации о веб-клиентах.
Процессоры преобразования данных
Общие результаты
-
convertпроцессор - Преобразует поле в текущем поглощаемом документе в другой тип, например, преобразование строки в целое число.
-
dissectпроцессор - Извлекает структурированные поля из одного текстового поля в документе. В отличие от процессора grok, dissect не использует регулярные выражения. Это делает dissect проще и часто быстрее.
-
grokпроцессор - Извлекает структурированные поля из одного текстового поля в документе, используя диалект регулярных выражений Grok, который поддерживает многоразовые алиасированные выражения.
-
gsubпроцессор - Преобразует строковое поле, применяя регулярное выражение и замену.
-
redactпроцессор - Использует движок правил Grok для маскировки текста в входном документе, соответствующего заданным шаблонам Grok.
-
renameпроцессор - Переименовывает существующее поле.
-
setпроцессор - Устанавливает значение для поля.
Конкретные результаты
-
bytesпроцессор - Преобразует удобочитаемое значение байта в его значение в байтах (например,
1kbстановится1024). -
csvпроцессор - Извлекает одну строку данных CSV из текстового поля.
-
dateпроцессор - Извлекает и преобразует поля даты.
-
dot_expandпроцессор - Расширяет поле с точками в поле объекта.
-
html_stripпроцессор - Удаляет теги HTML из поля.
-
joinпроцессор - Объединяет каждый элемент массива в одну строку, используя разделитель между каждым элементом.
-
kvпроцессор - Разбирает сообщения (или определенные поля событий), содержащие пары ключ-значение.
-
lowercaseпроцессор иuppercaseпроцессор - Преобразует строковое поле в нижний или верхний регистр.
-
splitпроцессор - Разделяет поле на массив значений.
-
trimпроцессор - Обрезает пробелы из поля.
Обработчики фильтрации данных
-
dropобработчик - Удаляет документ без генерирования ошибок.
-
removeобработчик - Удаляет поля из документов.
Обработчики управления конвейером
-
failобработчик - Вызывает исключение. Полезно, когда ожидается сбой конвейера и необходимо передать конкретное сообщение запрашивающему.
-
pipelineобработчик - Выполняет другой конвейер.
-
rerouteобработчик - Перенаправляет документы в другой целевой индекс или поток данных.
-
terminateобработчик - Прерывает текущий конвейер поглощения, в результате чего дальнейшие обработчики не выполняются.
Обработчики обработки массивов/JSON
-
for_eachобработчик - Выполняет обработчик поглощения для каждого элемента массива или объекта.
-
jsonобработчик - Преобразует строку JSON в структурированный JSON-объект.
-
scriptобработчик - Выполняет встроенный или сохранённый скрипт над входящими документами. Скрипт выполняется в контексте painless
ingest. -
sortобработчик - Сортирует элементы массива по возрастанию или убыванию.
Добавление дополнительных обработчиков
Вы можете установить дополнительные обработчики в качестве плагинов.
Вы должны установить все плагин-обработчики на всех узлах кластера. В противном случае Elasticsearch не сможет создать конвейеры, содержащие обработчик.
Чтобы отметить плагин как обязательный, установите plugin.mandatory в elasticsearch.yml. Узел не сможет запуститься, если обязательный плагин не установлен.
plugin.mandatory: my-ingest-plugin
© 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/processors.html