Page History
...
- Enable the Discovery Search processor in the by changing the following settings in
config/dspace.cfg
- Comment out:
org.dspace.app.webui.search.LuceneSearchRequestProcessor
Uncomment:
org.dspace.app.webui.discovery.DiscoverySearchRequestProcessor
Code Block xml xml plugin.single.org.dspace.app.webui.search.SearchRequestProcessor = \ org.dspace.app.webui.discovery.DiscoverySearchRequestProcessor
- Comment out:
- Enable the Discovery Indexing Consumer that will update Discovery Indexes on changes to content in XMLUI, JSPUI, SWORD, and LNI in config/dspace.cfg
Add discovery to the list of event.dispatcher.default.consumers
Code Block # default synchronous dispatcher (same behavior as traditional DSpace) event.dispatcher.default.class = org.dspace.event.BasicDispatcher #event.dispatcher.default.consumers = search, browse, eperson, harvester event.dispatcher.default.consumers = search, browse, discovery, eperson, harvester
Note As it is not possible in JSPUI to use both search provider (Lucene and Discovery), it is generally more appropriate, but not required, to remove the "search" consumer from the list above. The "browse" consumer can be removed as well if you configure the Browse System to use SOLRSolr/Discovery as its backend (see Defining the Storage of the Browse Data)
Enable facet showing in the Repository, Communities and Collections home pages
Code Block plugin.sequence.org.dspace.plugin.CommunityHomeProcessor = \ org.dspace.app.webui.components.RecentCommunitySubmissions,\ org.dspace.app.webui.discovery.SideBarFacetProcessor plugin.sequence.org.dspace.plugin.CollectionHomeProcessor = \ org.dspace.app.webui.components.RecentCollectionSubmissions,\ org.dspace.app.webui.discovery.SideBarFacetProcessor plugin.sequence.org.dspace.plugin.SiteHomeProcessor = \ org.dspace.app.webui.discovery.SideBarFacetProcessor
Note Please note that JSPUI (in contrast to XMLUI) still relies on the Browse Engine to show "recent submissions". The browse engine can be configured to use SOLRSolr/Discovery as its backend (see Defining the Storage of the Browse Data)
Enable a JSON endpoint to provide the autocompletion feature in the search form
Code Block plugin.named.org.dspace.app.webui.json.JSONRequest = \ org.dspace.app.webui.discovery.DiscoveryJSONRequest = discovery
- Check that the port is correct for solr.search.server in config/modules/discovery.cfg
If all of your traffic runs over port 80, then you need to remove the port from the URL
Code Block ##### Search Indexing ##### solr.search.server = http://localhost/solr/search
From the command line, navigate to the [dspace] directory and run the command below to index the content of your DSpace instance into Discovery.
Code Block ./bin/dspace update-discovery-index
Panel NOTE: This step may take some time if you have a large number of items in your repository.
- Verify that you can see the Sidebar Facets on your DSpace homepage or that an empty search query will return all repository content. Note that these are only visible when you have items in your repository.
...
Property: | search.server |
Example Value: |
|
Informational Note: | Discovery relies on a SOLR Solr index for storage and retrieval of its information. This parameter determines the location of the SOLR Solr index. |
Property: | index.ignore |
Example Value: |
|
Informational Note: | By default, Discovery will include all of the DSpace metadata in its search index. In cases where specific metadata is confidential, repository managers can include those fields by adding them to this comma separated list. |
Property: | index.authority.ignore[.field] |
Example Value: |
|
Informational Note: | By default, Discovery will use the authority information in the metadata to disambiguate homonymous. Setting this property to false will make the indexing process the same as the metadata doesn't include authority information. The configuration can be different on a field (<schema>.<element>.<qualifier>) basis, the property without field set the default value. |
Property: | index.authority.ignore-prefered[.field] |
Example Value: |
|
Informational Note: | By default, Discovery will use the authority information in the metadata to query the authority for the prefered label. Setting this property to false will make the indexing process the same as the metadata doesn't include authority information (i.e. the prefered form is the one recorded in the metadata value). The configuration can be different on a field (<schema>.<element>.<qualifier>) basis, the property without field set the default value. If the authority is a remote service, disabling this feature can greatly improve performance. |
Property: | index.authority.ignore-variants[.field] |
Example Value: |
|
Informational Note: | By default, Discovery will use the authority information in the metadata to query the authority for variants. Setting this property to false will make the indexing process the same as the metadata doesn't include authority information. The configuration can be different on a field (<schema>.<element>.<qualifier>) basis, the property without field set the default value. If the authority is a remote service, disabling this feature can greatly improve performance. |
...
- indexFieldName (Required): A unique search filter name, the metadata will be indexed in SOLR under Solr under this field name.
- metadataFields (Required): A list of the metadata fields that need to be included in the facet.
...
- facetLimit (optional): The maximum number of values to be shown. This property is optional, if none is specified the default value '"10' " will be used. If the filter has the type date, this property will not be used since dates are automatically grouped together.
- sortOrder (optional):The sort order for the sidebar facets, it can either be COUNT or VALUE. The default value is COUNT.
- COUNT Facets will be sorted by the amount of times they appear in the repository
- VALUE Facets will be sorted alphabetically
- type(optional): the type of the sidebar facet it can either be '"date' " or '"text'", '"text' " is the default value.
- text: The facets will be treated as is
- date: Only the year will be stored in the SOLR indexSolr index. These years are automatically displayed in ranges that get smaller when you select one.
...
Warning |
---|
The Browse Engine only supports the "Access item based results" if the SOLRSolr/Discovery backend is enabled (see Defining the Storage of the Browse Data) |
...
Warning |
---|
This paragraph only applies to XMLUI. JSPUI relies on the Browse Engine to show "recent submissions". This requires that the SOLRSolr/Discovery backend is enabled (see Defining the Storage of the Browse Data). |
...
- similarityMetadataFields: the metadata fields checked for similarity
- minTermFrequency: The minimum number of matching terms accross the metadata fields above before an item is found as related
- max: The maximum number of related items displayed
"More like this" technical details
The org.dspace.discovery.SearchService object has received a getRelatedItems() method. This method requires an item & the more-like-this configuration bean from above. This method is implemented in the org.dspace.discovery.SolrServiceImpl which uses the item as a query & uses the default Solr parameters for more-like-this to pass the bean configuration to solr (http://wiki.apache.org/solr/MoreLikeThis). The result will be a list of items or if none found an empty list. The rendering of this list is handled in the org.dspace.app.xmlui.aspect.discovery.RelatedItems class.
Discovery
...
Solr Index Maintenance
Command used: |
|
Java class: | org.dspace.discovery.IndexClient |
Arguments (short and long forms): | Description |
| called without any options, will update/clean an existing index |
| (re)build index, wiping out current one if it exists |
| clean existing index removing any documents that no longer exist in the db |
| if updating existing index, force each handle to be reindexed even if uptodate |
| print this help message |
| optimize search core |
| remove an Item, Collection or Community from index based on its handle |
Routine Discovery
...
Solr Index Maintenance
It is strongly recommended to run maintenance on the Discovery SOLR Solr index daily (from crontab or your system's scheduler), to prevent your servlet container from running out of memory:
...