<p dir="auto">Description:<br>
Allow an index level granularity of backing up and restoring of indexes.</p>
<p dir="auto">Use Case:<br>
In a multi-tenant application, where there is an index per tenant, there is often a need to restore an index to a previous "snapshot".<br>
It is even possible that a tenant owner / admin will be allowed to "go back in time" to a previous version of the index.</p>
<p dir="auto">Feature Request:</p>
<ol dir="auto">
<li>Allow a per index backup and restore.</li>
<li>Right after the restore, the newest document in the index should be the newest document in the snapshot we restored from. Documents related to this index in the transaction log or the work folders should be removed.</li>
</ol>
<p dir="auto">A possibly more complicated feature request:<br>
Have an API to define index periodic "save points". e.g. create a save point every 10 minutes.<br>
Have another API to restore an index to a specific save point.<br>
An additional API that would let us list the current available save points.</p>
<p dir="auto">The process of backing up an index to NFS would be:</p>
<ol dir="auto">
<li>Define a periodic snapshot of every X minutes.</li>
<li>Snapshot the NFS every X minutes (with the S3 integration this can be automatic)</li>
</ol>
<p dir="auto">The process of restoring:</p>
<ol dir="auto">
<li>Restore a snapshot from NFS.</li>
<li>List the available snapshots (through API)</li>
<li>Restore to the latest snapshot.<br>
(with S3, this could be nicer: list the available snapshot then retrieve from S3 and restore in one API call)</li>
</ol>
<ul dir="auto">
<li>In the advanced feature request, the periodic mechanism can be left for some external scheduler.</li>
</ul>
<p dir="auto">See also: <a href="http://groups.google.com/a/elasticsearch.com/group/users/browse_thread/thread/fa111bbdcfe5872a/1ce33465200d66e1#1ce33465200d66e1" rel="nofollow">http://groups.google.com/a/elasticsearch.com/group/users/browse_thread/thread/fa111bbdcfe5872a/1ce33465200d66e1#1ce33465200d66e1</a></p>
<p dir="auto">As stated in <a href="https://github.com/elasticsearch/elasticsearch/issues/2458" data-hovercard-type="issue" data-hovercard-url="/elastic/elasticsearch/issues/2458/hovercard">issue 2458</a>, the  Shared Gateways are getting deprecated and we will need a new API in order to snapshot ES clusters/indices.</p>