Page History
DSpace Discovery
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Introduction Video
Usage Guidelines
The Discovery Module enables faceted searching for your repository.
In a faceted search, 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.
Although these techniques are new in DSpace, they might feel familiar from other platforms like Aquabroser or Amazon, where facets help you to select the right product according to facets like price and brand. DSpace Discovery offers very powerful browse and search configurations that were only possible with code customization in the past.
Instructions for enabling Discovery in DSpace 1.7.0
...
Configuring Facets that are Exposed for Search Results
...
Property: | solr.search.server |
...
Example Value: |
...
Informational Note: | Discovery relies on a SOLR index. This parameter determines the location of the SOLR index. |
Property: | solr.facets.search |
Example Value: | solr.facets.search=dc.contributor.author,dc.subject,dc.date.issued_dt |
Informational Note: | The Discovery search facets, offered in the navigation bar, can be customized for each specific page in DSpace. When no specification is given for a page, this default configuration is used. Every SOLR facet field which ends with _dt will be handled as a date. Handeling as date implies that (field.name).year will be used for faceting |
Property: | solr.facets.site |
Example Value: | solr.facets.site=dc.contributor.author,dc.subject,dc.date.issued_dt |
...
Informational Note: | Defines the facet fields, offered on the DSpace homepage |
Property: | solr.facets.community |
Example Value: | solr.facets.community=dc.contributor.author,dc.subject,dc.date.issued_dt |
...
Informational Note: | Defines the facet fields, offered on community homepages |
Property: | solr.facets.collection |
Example Value: | solr.facets.collection=dc.contributor.author,dc.subject,dc.date.issued_dt |
...
Informational Note: | Defines the facet fields, offered on collection homepages |
Property: | solr.facets.item |
Example Value: | solr.facets.item=dc.contributor.author,dc.subject,dc.date.issued_dt |
...
Informational Note: | Defines the facet fields, offered on item pages |
Property: | solr.default.filterQuery |
Example Value: | solr.default.filterQuery=location:l2 |
Informational Note: | Aside from filters that are applied when users are searching, filters can also be applied by default. This property allos to define default filters that are used for every search in Discovery. The syntax is metadatafieldname:value. location is a special example, used to restrict a search to certain communities and collections. l stands for collection, while m is used to restrict the search to a community. The numbers, written after l or m is the internal database ID of the collection or community |
Property: | solr.site.default.filterQuery |
Example Value: | solr.site.default.filterQuery=dc.contributor.author:Kevin* |
Informational Note: | This parameter applies additional filters on the Recently Added list, shown on the DSpace homepage. As these filters are strict matches, the star in the example is used to filter on all dc.contributor.author values that start with Kevin |
Property: | solr.community.default.filterQuery |
Example Value: | solr.community.default.filterQuery=dc.contributor.author:Kevin* |
Informational Note: | This parameter applies additional filters on the Recently Added list, shown on Community Homepages. As these filters are strict matches, the star in the example is used to filter on all dc.contributor.author values that start with Kevin |
Property: | solr.collection.default.filterQuery |
Example Value: | solr.collection.default.filterQuery=dc.contributor.author:Kevin* |
Informational Note: | This parameter applies additional filters on the Recently Added list, shown on Collection Homepages. As these filters are strict matches, the star in the example is used to filter on all dc.contributor.author values that start with Kevin |
Property: | solr.search.default.filterQuery |
Example Value: | solr.search.default.filterQuery=dc.embargo:lifted |
Informational Note: | This parameter applies additional filters on all Discovery searches. In this example, only items who have the value lifted in the embargo field, are being shown as search results. |
Property: | solr.search.filters |
Example Value: | dc.title, dc.contributor.author, dc.subject, dc.date.issued.year |
Informational Note: | Defines which fields are shown in the (advanced) search form. |
Property: | solr.search.sort |
Example Value: | solr.search.sort=dc.title, |
...
dc.date.issued_dt |
...
Informational Note: | Defines which indexed fields can be sorted on in the search results. With this parameter it's possible to make any field available for sorting. |
Property: | solr.index.type.date |
Example Value: | solr.index.type.date=dc.date,dc.date.* |
Informational Note: | Defines whichs fields are indexed as dates. Please be aware that for each date field an _dt will be suffixed so that dc.date.issued |
...
will |
...
become |
...
dc.date.issued_dt |
...
. For each |
...
date |
...
indexed |
...
the |
...
year |
...
will |
...
also |
...
be |
...
stored |
...
separately |
...
in |
...
a |
...
(field.name |
...
).year |
...
so |
...
it |
...
can |
...
be |
...
used |
...
for |
...
date |
...
faceting |
...
Property: | solr.recent-submissions.size |
Example Value: | solr.recent-submissions.size=5 |
...
Informational Note: | Defines the number of items that are shown in the Recently Added lists. |
Property: | recent.submissions.sort-option |
Example Value: | recent.submissions.sort-option=dc.date.accessioned_dt |
...
Informational Note: | The indexed metadata field on which Discovery sorts to determine which items were recently submitted |
Property: | search.facet.max |
Example Value: | search.facet.max=10 |
Informational Note: | Use the property below to limit the number of facet filters in the side of the search page |
Advanced Configuration in Solr
...
Code Block |
---|
solr
├── search
│ ├── conf
│ │ ├── admin-extra.html
│ │ ├── elevate.xml
│ │ ├── protwords.txt
│ │ ├── schema.xml
│ │ ├── scripts.conf
│ │ ├── solrconfig.xml
│ │ ├── spellings.txt
│ │ ├── stopwords.txt
│ │ ├── synonyms.txt
│ │ └── xslt
│ │ ├── DRI.xsl
│ │ ├── example.xsl
│ │ ├── example_atom.xsl
│ │ ├── example_rss.xsl
│ │ └── luke.xsl
│ └── conf2
├── solr.xml
└── statistics
└── conf
├── admin-extra.html
├── elevate.xml
├── protwords.txt
├── schema.xml
├── scripts.conf
├── solrconfig.xml
├── spellings.txt
├── stopwords.txt
├── synonyms.txt
└── xslt
├── example.xsl
├── example_atom.xsl
├── example_rss.xsl
└── luke.xsl
|
...
|
...
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 |
---|
mkdir /path/to/project/discovery
cd discovery
svn checkout http://scm.dspace.org/svn/repo/dspace/trunk/ dspace-trunk -r 4961
svn checkout http://scm.dspace.org/svn/repo/modules/dspace-discovery/trunk/ dspace-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-trunk/dspace/pom.xml 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
...