Howto: Use DSpace Discovery
The Discovery Module enables your repository to have faceted searching.
Thus a user can filter what they are looking for by grouping entries into a facet, and drill down to find the content they are interested in.
So instead of user searching: [ wetland + "dc.author=Mitsch, William J" + dc.subject="water quality" ], they can instead do their initial search, [ wetland ], and then filter the results by attributes.
A website like Amazon, might do this to help you select a digital camera. You can reduce the results by price range, features, megapixels, manufacturer, etc.
The further the DSpace Discovery module is developed, the more useful that browsing can be to the researcher looking for items in your collections.
Checkout the projects source
- A Fresh Copy of the DSpace Trunk
svn checkout http://scm.dspace.org/svn/repo/dspace/trunk/ dspace-trunk
- The Discovery Module
svn checkout http://scm.dspace.org/svn/repo/modules/dspace-discovery/trunk/ dspace-discovery
Reference
For reference, look at the Dryad project as that is using the discovery layer.
Overview
Have both projects checked out to the same root projects folder. You will not have to modify dspace-discovery at all, but the patch will enable the dspace-trunk to use some features of dspace services, and include other libraries such as org.apache.solr that are needed.
The discovery module essentially adds an additional core to solr. Existing was statistics, the new core is search.
Obtain the patch
To patch:
cd /path/to/project/dspace-trunk/dspace patch -p1 < /path/to/discovery-applied-to-dspace-trunk.patch
If you name discovery-trunk anything other than that, you will have to modify dspace-trunk/dspace/pom.xml accordingly.
Then the regular rebuild process applies. It may be necessary to do a mvn clean package.
In config/dspace-solr-search.cfg and dspace.cfg is a setting for:
solr.search.server = http://127.0.0.1:8080/solr
Adjust that if necessary.
After the patch, you will need to set solr/home. Modify /dspace/webapps/solr/WEB-INF/web.xml to use your solr/home.
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/dspace/solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
Once you've restarted your {tomcat} server, and SOLR is up and running, you'll need to index your content.
[/dspace/bin/] ./dspace update-discovery-index
- or -
Once, http://jira.dspace.org/jira/browse/DS-516 is committed it can be invoked by:[/dspace/bin/] ./dspace dsrun org.dspace.discovery.IndexClient
Screenshots
Empty search shows that it can be filtered easily.