0

I have an index of size 25 GB in elasticsearch of version 1.7 and I want to upgrade this to ES 5.5. But since the documents have empty field names(strings) which were supported in the 1.7 version but are not in the 5.5 version, I'd like to replace all the empty strings with null values.

Since someone else had indexed the data, I don't know if I'll be able to find the source so that I can fix this and index the data again. But since the data is already indexed is there any way I can retrieve all the documents of the index in a .json file which can be used to fix the errors and index again?

For example - retrieving all the documents in bulk.json and then indexing them again with the usual post request in the ES 5.5 version.

I've tried a few ways and also looked into this but didn't find anything that could store all the 25 GB worth of docs in a single bulk.json

Do let me know if there are any other ways to solve this.

1 Answers1

1

Use ElasticDump, it will be straight forward

npm install elasticdump

Then,

elasticdump \
    --input=http://production.es.com:9200/my_index \
    --output=/data/my_index_data.json \
    --type=data
Sunder R
  • 1,074
  • 1
  • 7
  • 21