What's the difference between Watcher and the Changes API

I was at an Elastic.co hosted morning several months ago and there was discussions about a Changes API that would be part of Elasticsearch v2.0. As far as I can tell the use cases that were being discussed for the Changes API that morning are identical to that of Watcher.

Is the Changes API still planned for Elasticsearch v2.0 and if so, how will it differ from Watcher and will Watcher eventually use the Changes API?


The changes API is indeed planned for a future release, but it's really not there to match Watcher in functionality. The idea behind the changes API is about being able to register to a stream of data events as they happen, it's up to the user to do something with it.

Watcher brings the infrastructure to act on events based on conditions. Today these events are triggered based on a schedule you define. That said, the way the trigger functionality in Watcher is implemented enables us to later on take advantage of features like the Changes API such that we could trigger events based on the provided event stream. So in fact, Watcher and the future Changes API are really complementing functionalities and not competing ones.

As for the release that will include the Changes API, we're currently working to on building the foundations for this functionality in elasticsearch. This takes time and we make sure its done right. I can't say it'll make it to es 2.0, but in 2.0 we'll definitely have a lot of the foundation work in place.

1 Like

Thanks for the explanation @uboness, that's really cleared up my understanding of the two things!