We’ve recently investigated the pros and cons of upgrading elasticsearch from 2.4 to 5.x on centOS 6.9.  Here are some questions I’d like to clarify. Most of them are regarding to whether they are versions compatible, for example, anything that might be deprecated in 5.x.

1. For bulk index using json-like format file, is there any change from 2.4 to 5.x? Are they compatible with each other?

2. Is there any data type difference between versions, for example, date timestamp in 2.4 v.s 5.x?

3. Is there any difference in query syntax, for example, using filter? Especially I am concerned with any functions or syntax are deprecated in 5.x.

4. Same question applied in question 3, in the context of elasticsearch-py. Any compatibility issue from 2.4 to 5.x in elasticsearch-py?

5. Indices created in 2.4, can they be read and written in 5.x?

6. What are major benefits upgrading to 5.x, e.g. speed of index time or query time faster in 5.x than in 2.4?

7. Is it possible to install 2 versions on the same machine? So I can run some tests first after the migration.

Any inputs are appreciated!