在ElasticSearch上我有每天生成的logstash索引,我改变了一些字段的类型,它们在生成的新索引中发生了变化,但在旧索引上没有变化。知道我不能删除我的旧索引,我想只是在所有现有索引上更改字段的类型。 我将在下面的图片中向您展示:前一个logstash索引的默认映射,字段“TMP_REPONSE”为字符串,而它需要很长,这是新索引的情况。
default mapping of an old index logstash
感谢您向我展示如何在不删除旧索引的情况下解决此问题。
答案 0 :(得分:1)
你的cannot change the type of a field从字符串到索引之后的很长时间。您需要使用正确的映射重新创建索引并重新索引数据。
使用正确的映射创建新索引后,您只需将旧索引中的日期复制到新索引中,例如使用elasticdump工具或使用Logstash
elasticdump \
--input=http://localhost:9200/old_index \
--output=http://localhost:9200/new_index \
--type=data