The Elasticsearch Changes plugin is a plugin for Elasticsearch that tracks changes to indices and makes this information available
through a REST service. It provides information on node basis. So if you want the complete change information you have to query all nodes in your cluster.
Run bin/plugin -install derryx/elasticsearch-changes-plugin
You can set the length of the history buffer with the setting changes.history.size
. The default is 100.
Point your browser to http://localhost:9200/_changes/
to see changes for all indices.
If you want to see changes only for one or a list of indices you can use http://localhost:9200/foo,bar,baz/_changes/
.
You will get a response like this:
{ "twitter" : { "lastChange" : 1330372696400, "changes" : [ { "type" : "CREATE", "id" : "qf310jYSSK2OsM0fWEXyIA", "timestamp" : 1330372680742, "version" : 1 }, { "type" : "INDEX", "id" : "1", "timestamp" : 1330372689220, "version" : 2 }, { "type" : "DELETE", "id" : "1", "timestamp" : 1330372696400, "version" : 3 } ] }, "bubu" : { "lastChange" : 1330369466133, "changes" : [ ] } }
The timestamp is a UNIX timestamp in milliseconds (epoch midnight, January 1, 1970 UTC).
If you want to see only changes after a given timestamp you can add the parameter since
to the request (for example http://localhost:9200/_changes/?since=1330282941692
). The timestamp again is a UNIX timestamp (in milliseconds).
You can make your request wait for a change to happen with the parameter wait
. Additionally you can give a timeout
parameter (in milliseconds).
(example: http://localhost:9200/_changes/?wait=true&timeout=60000
). The default timeout is 15 minutes.
- Change Plugin 0.1.x → Elasticsearch 0.18.x
- Change Plugin 0.2.x → Elasticsearch 0.19.x
See project’s GitHub pages for details.