Details
Description
Until this moment, elasticsearch has only one index, the one used by the search tool, and due to the way it is implemente, it doesn't allows new indexes.
The actual sakai index is site related, so there are entities that can't be referenced, like questions in question pools, that are not site related... We are working in a project that needs to search in the samigo questions and we want to use ElasticSearch for that, but we can't add the questions to the main index.
For that, after talking with Earle, we arrived to a refactor plan, that will maintain the main index as it is, so no changes will be needed in any other tool to continue using it, but allows new indexes that can be developed in the tool that needs it. In our case, in Samigo. To add a new index won't be needed to touch search code. It will be enough with implement the right classes in the tool and register the index in the elasticsearch service.
The code will contain an updated README that explains all this with detail.
This code is working in a 11.x version and I've applied it to trunk. Once I finish the testing I will generate the PR.