Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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.
Image Added

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 from source (revision numbers are from revision last tested)

Code Block
cdmkdir [path]/projects   
git svn clone http/path/to/project/discovery
cd discovery
svn checkout http://scm.dspace.org/svn/repo/modules/dspace-discovery/trunk/ dspace-trunk dspace-discoveryr 4961
git svn clonecheckout http://scm.dspace.org/svn/repo/modules/dspace-discovery/trunk/ dspace-trunk

(Alternatively svn users can just regular svn co those above. Clone is for git, because git doesn't exactly do checkout)
(GIT ONLY) git svn doesn't add empty directories, so to correct that, type:

Code Block

[dspace-trunk-git/dspace/\]$
mkdir -p modules/jspui/src/main/webapp 
mkdir -p modules/lni/src/main/webapp 
mkdir -p modules/oai/src/main/webapp 
mkdir -p modules/solr/src/main/webapp 
mkdir -p modules/sword/src/main/webapp 
mkdir -p modules/xmlui/src/main/webapp   

Edit POM's

-discovery -r 4846

Reference
If you want see Discovery in action and try it out live, the Dryad Repository has discovery instead of artifact browse. You can also browse their Google Code  which has the source of their customizations.

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 updated patch

To patch: 

Code Block

cd /path/to/project/discovery/dspace-trunk/dspace 
patch -p1 < /path/to/dspace-discovery-update3.patch 

If you name discovery-trunk anything other than that, you will have to modify dspace-edit trunk/dspace/pom.xml
adding 

Code Block
 
<module>../../dspace-discovery</module> 

Image Removed

and

Code Block

<dependency>   
 <groupId>org.dspace.discovery</groupId>   
 <artifactId>discovery-solr-provider</artifactId>    
 <version>0.9.1-SNAPSHOT</version>
</dependency> 

Image Removed

edit trunk/dspace/modules/xmlui/pom.xml
adding

Code Block

<dependency>
    <groupId>org.dspace.discovery</groupId>
    <artifactId>discovery-xmlui-block</artifactId>
    <version>0.9.1-SNAPSHOT</version>
</dependency> 

Image Removed
ADD SOLR SEARCH
go to trunk/dspace/solr/
Add Dryad's SOLR core of search.

Code Block
 
[trunk/dspace/solr/] $ svn export http://dryad.googlecode.com/svn/trunk/dryad/dspace/solr/search/ search 

edit /trunk/dspace/solr/solr.xml
add

Code Block
 
<core name="search" instanceDir="search"/> 

Image Removed
edit trunk/dspace/config/xmlui.xconf

Code Block

    <aspects> 
        <!-- 
            (1) Remove Artifact Browser as Browse/Search is supported in Discovery 
            <aspect name="Artifact Browser" path="resource://aspects/ArtifactBrowser/" /> 
            (2) Feedback holds the Contact / Feedback aspects 
        --> 
            <aspect name="Feedback" path="resource://aspects/Feedback/" /> 
        <!--  
            (3) Discovery holds Both Viewers, Recent Submissions and Search/Browse. 
        --> 
        <aspect name="Discovery" path="resource://aspects/Discovery/" /> 

accordingly.
Then the regular rebuild process applies.

Once you've restarted tomcat, and SOLR is up and running, you'll need to index your content.

Code Block

/dspace/bin/dspace update-discovery-index 
  • or -
    Code Block
    
    /dspace/bin/dspace dsrun org.dspace.discovery.IndexClient
    

Screenshots
Empty search shows that it can be filtered easily.
Image Added Image Removed