Мое приложение хранит метаданные github repo и сохраняет их вasticsearch. Я хотел бы выдать метри c, взятую из некоторых полей документа репо при его создании или обновлении. Проще говоря ... при записи документа "a" в elasti c index foo также сохраните метри c, взятую из полей внутри документа "a", и поместите их в индексную строку.
Я думал, что проглотит Конвейеры позволили бы мне сделать это, но похоже, что они предназначены в первую очередь для преобразования данных ... в этом случае целевой индекс, задав для поля _index новое значение.
Итак, с указанием PUT для моего индекса репо с этим документом
{
"repoFullName":"foo",
"team":"myTeam",
"releaseVersion":1.2",
...lots of other git repo data here as well
}
Что я добавляю в свой конвейер загрузки, чтобы сохранить документ как есть и выдать метри c в другой индекс?
Вот мой лучший снимок содержимого конвейера загрузки, но, опять же, я знаю, что это только перенаправит данные в индекс metri c и не сохранит как исходный do c, так и metri c.
PUT _ingest / pipe / emit_metri c
{
"description": "A pipeline for emitting a version string metric",
"processors": [
"pipeline": {
"set" : {
"field" : "_index",
"value" : "metric_index",
},
"set" : {
"field" : "repo.releaseVersion",
"value" : "{{releaseVersion}}"
}
}
]
}