更新 ElasticSearch 上 logstash 索引的字段

Update fields of logstash index on ElasticSearch

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

default mapping of an old index logstash

感谢您告诉我如何在不删除旧索引的情况下解决这个问题。

cannot change the type of a field 从字符串到索引后的 long。您需要使用正确的映射重新创建索引并重新索引您的数据。

使用正确的映射创建新索引后,您可以简单地将旧索引中的日期复制到新索引中,例如使用 elasticdump tool or using

elasticdump \
  --input=http://localhost:9200/old_index \
  --output=http://localhost:9200/new_index \
  --type=data