Как передать данные в elastic через logstash с помощью анализатора?
У меня есть конфигурационный файл logstash ниже. Elastic читает мои данные как A b , где, как я хочу, чтобы он читал их как ab, я обнаружил, что мне нужно использовать not_analyzed для моего поля sscat filed и max_shingle_size, min_shingle_size для поля products чтобы получить наилучший результат.
Должен ли я также использовать поле not_analyzed для продуктов? Даст ли это лучший результат?
Как я должен заполнить свой my_id_analyzer, чтобы фактически использовать анализатор на разных полях?
Как мне подключить шаблон к конфигурационному файлу logstash?
Что я уже пробовал:
input{ file{ path => "path" start_position =>"beginning" } } filter{ csv{ separator => "," columns => ["Index", "Category", "Scat", "Sscat", "Products", "Measure", "Price", "Description", "Gst"] } mutate{convert => ["Index", "float"] } mutate{convert => ["Price", "float"] } mutate{convert => ["Gst", "float"] } } output{ elasticsearch{ hosts => "host" user => "elastic" password => "pass" index => "masterdb" } }
Цитата:У меня также есть шаблон, который может сделать это для всех будущих файлов, которые я загружаю
curl user:pass host:"host" /_template/logstash-id -XPUT -d '{ "template": "logstash-*", "settings" : { "analysis": { "analyzer": { "my_id_analyzer"{ } } } } }, "mappings": { "properties" : { "id" : { "type" : "string", "analyzer" : "my_id_analyzer" } } } }'