Fix Version/s: 7.x-1.7
There are two queries in islandora_oai that contain ORDER BY statements:
Because of the "ORDER BY", the performance of this query is directly proportional to the number of objects in the repository. Mulgara handles the ORDER BY well enough considering, but Solr is much more purpose-built for this task and would provide a much better back-end for these.
Make these two queries support an optional Solr backend
OAI should return:
- Object sets
- The earliest datetime
Exactly the same between the traditional SPARQL query and the new Solr query, so long as Solr indexes sets and datetimes thoroughly. There may be variations based on whether an individual installation of GSearch/Solr indexes all Fedora objects or not.
OAI should also return the list of objects that are part of a set exactly the same as it did before. It should work with and without filling out the new Object Ancestors field in the config.
Note that the number of objects returned from the Object Ancestors field may differ from the number returned from recursively searching through sets; making sure the Object Ancestors field functions correctly is the responsibility of the one creating that field.
We don't particularly care about speed testing as part of this; the onus for that is on whomever is maintaining their Solr configs/setup/et cetera.
This should be configurable in the OAI admin.