This Confluence wiki site, maintained by DuraSpace prior to the recent merger with LYRASIS, will transition from the duraspace.org domain to the lyrasis.org domain on Saturday, Nov 16 beginning at approximately 7pm ET. A period of downtime of 2-3 hours is expected. After the transition, this wiki will be available at https://wiki.lyrasis.org/. All links to duraspace.org wiki pages will be redirected to the correct lyrasis.org URL. If you have questions prior to or following the transition please contact: wikihelp@lyrasis.org.

Page tree
Skip to end of metadata
Go to start of metadata

Migrate Search/Browse to DSpace Discovery

This is a proposal to replace DSpace Search and Browse implementations completely with Solr

Overview of Discovery

In DSpace Discovery the Solr service provided as the basis for DSpace Statistic is repurposed to support Search and Browse in DSpace XMLUI. This implementation is wholly separate from the the existing Search and Browse to assure that the Core DSpace services and api are not dependent on one implementation of Search and Browse. Instead, with Discovery, Search is considered to be a secondary service on top of the DSpace core application, Discovery listens to the DSpace EventManager and updates its indexes like Search and Browse, but it is maintained separately to promote the concept that as OS platforms evolve different strategies and approaches for providing search capabilities will need to evolve as well.

Remove DSpace Search and Browse implementations and move application code to use DSpace Discovery/Solr instead.

Properly implementing the rest of Discovery will involve an evaluation of DSpace Search and Browse dependencies with the objective of separating out classes like DSIndexer, DSQuery and all of the "org.dspace.browse" api, where they are used in the application code, appropriate Service replacements should be crafted in the dspace-discovery provider project and any core usage migrated to be dependent on those services.

'''further work should be drafted here on how to do this and a listing of the dependencies should be identified'''