Elasticsearch API instability


This question is for you guys from Elasticsearch team.
I work with a portal product and we are are developing a comprehensive big data API for our customers. We have decided to use Elasticsearch as our default implementation.
During the development, two releases of ES had been released (1.5.2 and 1.6.0).
I'm really concerned that you API isn't really stable.
The last upgrade made fuzzy like this deprecated (that we are using) withou replacement (simple fuzzy won't work for us, since it limits the fuzzyness to 2) and removed phrase suggest's collatePreference without even daprecating it before (!!!).
Is your API keep changing that much from now on?

(Mark Walkom) #2

Your definition of instability is someone else's definition of progress :wink:

Maybe one of the core devs or PMs can provide a bit more insight though.

(Jörg Prante) #3

Fuzzy-like-this/More-like-this API is being replaced by MLT query https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/query-dsl-queries.html#mlt, according to

collatePreference was removed by this pull request but it looks like an accident:


I didn't understand. Indeed, MLT query IS More-Like-This. And MLT IS NOT Fuzzy-Like-This. So, what's the point?

(Adrien Grand) #5

If your edit distance is greater than 2 then elasticsearch won't be able to execute it efficiently as it would very likely have to browse most of the terms dictionary to find matching terms, which doesn't scale. So indeed 2.0 won't expose ways to run fuzzy queries on edit distances which are greater than 2.

Regarding the phrase suggester, I agree it would have been nicer to not break the API in a minor release. I think it was a mistake and will ask if it can be added back to 1.x.


The "won't expose something that can't scale" is a reasonable answer to me. Indeed, it makes a lot of sense. What just mekes me afraid, as one of the main architects of a heavy used platform, is that these things keeps happaning all the time.
Thanks for all the answers.

(system) #7