Пользовательский шаблон Grok для приема трубопровода - PullRequest
0 голосов
/ 01 ноября 2019

Обновление этого поста с некоторой дополнительной информацией и переписыванием, надеюсь, для ясности.

Я явно не в себе, и мне не повезло, что я публикую на форуме эластичных материалов, так что я надеюсь, что у меня будет лучшеудачи здесьЯ хочу использовать конвейер загрузки при индексировании документов для добавления дополнительных полей.

Учитывая приведенный ниже пример документа, я хочу получить информацию из строк, начинающихся с "extrafield"

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

дополнительное поле1: это информация, связанная с дополнительным полем1

дополнительное поле2: информация, связанная с дополнительным полем2

Я видел сообщение SO, в котором говорится, что именованные группы захвата необходимы для сопоставления текста и сохранения его в виде поля, и это звучит именно так, как я хочу, но я даже не могу заставить его работать вотладчик kibana grok.

если я использую шаблон, такой как (?<additionalfield1>(?<=additionalfield1:\s)[^,\n]*), который затем дает мне следующее, см. скриншот

> {   "additionalfield1": [
>     [
>       "this is information associated with additionalfield1"
>     ]   ] }

Grok Debugger

Во-первых, я не могу добавить несколько шаблонов. Как мне добавить шаблоны для различных полей, начинающихся с «дополнительного поля»?

Во-вторых, действительно ли это правильный синтаксис для использования? Я видел сообщения о том, что несколько фигур должны быть добавлены в фигурные скобки и разделены запятой, но в результате появляется сообщение о том, что шаблоны не соответствуют данным на входе.

Спасибо за любую помощь

...