artsy/estella

Support ElasticSearch 5.x

dblock opened this issue · 3 comments

A number of breaking changes in ES 5.x in the query language break filters.

https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking_50_search_changes.html

11) Estella::Searchable searchable model with a deleted index indexes a bulk set of documents
     Failure/Error: expect(SearchableModel.estella_search(term: 'jeremy')).to eq([]) # not indexes
     Elasticsearch::Transport::Transport::Errors::BadRequest:
       [400] {"error":{"root_cause":[{"type":"parsing_exception","reason":"Unknown key for a START_OBJECT in [filter].","line":1,"col":357}],"type":"parsing_exception","reason":"Unknown key for a START_OBJECT in [filter].","line":1,"col":357},"status":400}

Upgrading major versions usually requires a full cluster restart (and 5.x additionally requires a reindexing of all indices) so I expect adoption for 5.x to be low at this stage (though I can't find stats on this anywhere) -it was released in late october 2016.

I would even regard support for 1.5.x a bigger priority right now as I would guess there's more developers on that version than 5.x.

I see the changes needed for a lot of the queries, https://github.com/dblock/estella/tree/es-5.2, but the more complex function score ones seem harder.

izakp commented

Closing via #29