Yash Sharma Ответов: 0

Как передать данные в 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" }
            }
        }

    }'

0 Ответов