Я попытался преобразовать некоторые из полей в ранее проиндексированные данные из строки в целое. Но когда я снова запустил logstash, поля не преобразовались (только в Kibana). Почему я не могу вносить изменения в уже проиндексированные данные, а если нет, как я могу внести необходимые изменения в свой индекс?Почему elasticsearch не позволяет изменять индексированные данные?
Я вносил изменения в logstash. Вот фрагмент logstash.conf:
input {
file {
type => "movie"
path => "C:/TestLogs/Test5.txt"
start_position => "beginning"
}
}
filter {
grok {
match => {"message" => "(?<Movie_Name>[\w.\-\']*)\s(?<Rating>[\d.]+)\s(?<No. Of Downloads>\d+)\s(?<No. of views>\d+)" }
}
mutate {
convert => {"Rating" => "float"}
convert => {"No. of Downloads" => "integer"}
convert => {"No. of views" => "integer"}
}
}
Может сделать его более ясным, что это совершенно нормально для обновлять документы, но что _mappings_ нельзя изменить без переиндексации. –
@paweloque: Итак, если я вношу изменения в logstash.conf, я могу сделать сопоставление через elasticsearch и, наконец, изменения будут отражены в kibana? – kaks
@kaks Как выглядит ваш logstash.conf? Если вы измените его там, вам, вероятно, придется удалить индекс, установить новое сопоставление и затем переиндексировать данные. – paweloque