-
Notifications
You must be signed in to change notification settings - Fork 37
Search Platform Framework
RRE is not tied to a specific search platform. That's the reason we have built an abstraction layer for defining the expected callback a search platform must have, in order to be integrated within an RRE evaluation process.
The current release includes two bindings, which are the most popular search platforms: Apache Solr and Elasticsearch. We're setting up the Maven repository for hosting as much versions as possible. See below for an updated list of supported versions.
If you want to implement a new search platform binding, the first place where your should have a look is the rre-search-platform module. It consists of (at time of writing) four modules:
- rre-search-platform-api: search platform abstraction layer
- rre-search-platform-elasticsearch-impl: Elasticsearch binding (both internal and external Elasticsearch implementations)
- rre-search-platform-solr-impl: Apache Solr binding
- rre-search-platform-external-solr-impl: Apache Solr binding for connecting to an external Solr server/cluster.
The first module provides the actual abstraction layer, which consists of a couple of classes (actually a class and an interface):
- SearchPlatform: the search platform abstraction which provides the expected callbacks.
- QueryOrSearchResponse: the class which encapsulates the search results plus some metadata.
The other modules are the already implemented binding, and maybe it could be useful to have a look at them, if you're thinking to bind a new platform.
The generic search API provides the option to connect to search APIs other than Solr or Elasticsearch (for example, a web application in front of Solr, Elasticsearch, or another search platform). To take advantage of this you will need to build your own adapter from RRE to your search API, which is then used by the Generic search plugin.
Further information is available in the plugin directory in the repository.
1. What is it?
2. Quick Start
3. Project Structure
4. Evaluation Measures
5. How does it work?
5.1 Domain Model
5.2 What we need to provide
5.3 Where we need to provide
5.4 The Evaluation Process
5.5 The Evaluation Output
5.6 Persisting evaluation outputs
6. RRE Server
7. Apache Maven
7.1 Maven Plugin
7.2 Maven Reporting Plugin
7.3 Maven Archetype
8. Search Platform Framework
8.1 Supported platforms
8.2 Customising the Search Platform
9. FAQ