SOLR-5750 implemented backup/restore API for Solr. This JIRA is to track the code cleanup/refactoring. Specifically following improvements should be made,
- Add Solr/Lucene version to check the compatibility between the backup version and the version of Solr on which it is being restored.
- Add a backup implementation version to check the compatibility between the "restore" implementation and backup format.
- Introduce a Strategy interface to define how the Solr index data is backed up (e.g. using file copy approach).
- Introduce a Repository interface to define the file-system used to store the backup data. (currently works only with local file system but can be extended). This should be enhanced to introduce support for "registering" repositories (e.g. HDFS, S3 etc.)