更新ElasticSearch上的logstash索引字段

时间:2016-04-14 09:18:17

标签: elasticsearch logstash kibana elastic-stack

在ElasticSearch上我有每天生成的logstash索引,我改变了一些字段的类型,它们在生成的新索引中发生了变化,但在旧索引上没有变化。知道我不能删除我的旧索引,我想只是在所有现有索引上更改字段的类型。 我将在下面的图片中向您展示:前一个logstash索引的默认映射,字段“TMP_REPONSE”为字符串,而它需要很长,这是新索引的情况。

default mapping of an old index logstash

感谢您向我展示如何在不删除旧索引的情况下解决此问题。

1 个答案:

答案 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