Пытается обновить определенное поле в elasticsearch через logstash. Возможно ли обновить только набор полей через logstash?Logstash Обновление документа в elasticsearch
Пожалуйста, найдите код, приведенную ниже,
input {
file {
path => "/**/**/logstash/bin/*.log"
start_position => "beginning"
sincedb_path => "/dev/null"
type => "multi"
}
}
filter {
csv {
separator => "|"
columns => ["GEOREFID","COUNTRYNAME", "G_COUNTRY", "G_UPDATE", "G_DELETE", "D_COUNTRY", "D_UPDATE", "D_DELETE"]
}
elasticsearch {
hosts => ["localhost:9200"]
index => "logstash-data-monitor"
query => "GEOREFID:%{GEOREFID}"
fields => [["JSON_COUNTRY","G_COUNTRY"],
["XML_COUNTRY","D_COUNTRY"]]
}
if [G_COUNTRY] {
mutate {
update => { "D_COUNTRY" => "%{D_COUNTRY}"
}
}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "logstash-data-monitor"
document_id => "%{GEOREFID}"
}
}
Мы используем вышеописанную конфигурацию, когда мы используем это поле пустого значения становится удалено вместо пропуска обновления нулевого значения.
Данные взяты из двух разных источников. Один из файлов XML, а другой - из файла JSON.
Формат журнала XML: GEO-1 | CD | 23 | John | 892 | Канада | 31-01-2017 | QC | - | - | - | - | - Формат журнала JSON: GEO-1 | AS | 33 | - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0 | При чтении второго файла журнала необходимо обновить существующий документ. Обновление должно происходить только в первых 5 полях, если файл журнала - это XML и последние 5 полей, если файл журнала - JSON. Пожалуйста, предложите нам, как это сделать в logstash.
Пробовал с вышеуказанным кодом. Пожалуйста, проверьте, и может ли кто-нибудь помочь в том, как это исправить?
Может ли кто-нибудь помочь в этом? – banu
Вы предоставляете только определение фильтра, операция update/insert/upsert выполняется через выход для поиска elastics. Вы можете прочитать об этом здесь: https://www.elastic.co/guide/en/logstash/2.4/plugins-outputs-elasticsearch.html – pandaadb
@pandaadb отредактировал вопрос. Можете ли вы посмотреть на вопрос и помочь в этом? – banu