elasticsearch-changes-plugin
elasticsearch-changes-plugin copied to clipboard
An Elasticsearch Plugin that notifies about changes to indices
h1. Elasticsearch Changes Plugin
The Elasticsearch Changes plugin is a plugin for "Elasticsearch":http://www.elasticsearch.org/ 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.
This plugin is outdated! Please go to to https://github.com/jurgc11/es-change-feed-plugin for an updated version.
h2. Installation
Run @bin/plugin -install derryx/elasticsearch-changes-plugin@
h2. Configuration
You can set the length of the history buffer with the setting @changes.history.size@. The default is 100.
h2. Usage
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).
h3. See changes after a given timestamp
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).
h3. Wait for a index change to happen
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.
h4. Version mapping
- Change Plugin 0.1.x -> Elasticsearch 0.18.x
- Change Plugin 0.2.x -> Elasticsearch 0.19.x
- Change Plugin 0.3.x -> Elasticsearch 1.0.x
- Change Plugin 0.4.x -> Elasticsearch 1.7.x
h2. Other information
See "project's GitHub pages":http://derryx.github.com/elasticsearch-changes-plugin/ for details.