Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Discovery Introduction Video: http://www.youtube.com/v/abRSXTUEwws

Discovery Webinar Recording

This webinar has been broadcasted on June 1st, 2011 and its contents relate to DSpace 1.7

http://www.ustream.tv/recorded/15095992Image Removed

Image Removed

Introduction

In the introduction, we will briefly talk about the differences between discovery and regular search/browse and highlight some minor changes between Discovery in DSpace 1.7.0 and DSpace 1.7.1

Hiding metadata from discovery

By default, most of the metadata (actually all of them with the exception of a few provenance fields) are indexed in Discovery with the aim of producing search results. In case you want to keep some metadata fields entirely private, we'll show you how to achieve this.

Configuring different fields in the auto-complete drop-down

The Discovery Search pane feature a dropdown and a search box, in which entered values are auto-completed against values from specific metadata fields. We will show you how you can include additional values in the dropdown, so they can be used for auto completion.

Discovery Browse: Creating new facets

Out of the box, Discovery comes with facets for Author, Subject and Date issued. We will give a step by step example of how you create a facet for an additional metadata value.

Special case: Creating a new date value facet

Elaborating on the example from 4. we will show you the special case of adding a new date value facet.

Future work discussion

In the context of DSpace 1.8, Discovery is very much work in process, with some new developments in the pipeline. We're very much looking forward to what you expect from this feature.

Usage Guidelines

The Discovery Module enables faceted searching for your repository.

Wiki Markup
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

As with any upgrade procedure, it is highly recommend that you backup your existing data thoroughly.  This includes cases where upgrading DSpace from 1.6.2 to 1.7.0.  Although upgrades in versions of Solr/Lucene do tend to be forwards compatible for the data stored in the Lucene index, it is always a best practice to backup your dspace.dir/solr/statistics cores to assure no data is lost.

Usage Guidelines

The Discovery Module enables faceted searching for your repository.

Wiki Markup
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

As with any upgrade procedure, it is highly recommend that you backup your existing data thoroughly.  This includes cases where upgrading DSpace from 1.6.2 to 1.7.0.  Although upgrades in versions of Solr/Lucene do tend to be forwards compatible for the data stored in the Lucene index, it is always a best practice to backup your dspace.dir/solr/statistics cores to assure no data is lost.

  1. Enable the Discovery Aspects in the XMLUI by changing the following settings in config/xmlui.xconf
    1. Comment out: SearchArtifacts
    2. Uncomment: Discovery
      Code Block
      XML
      XML
      
      <xmlui>
          <aspects>
              <aspect name="Artifact Browser" path="resource://aspects/ArtifactBrowser/" />
              <aspect name="Browsing Artifacts" path="resource://aspects/BrowseArtifacts/" />
              <!--<aspect name="Searching Artifacts" path="resource://aspects/SearchArtifacts/" />-->
              <aspect name="Administration" path="resource://aspects/Administrative/" />
              
    Enable the Discovery Aspects in the XMLUI by changing the following settings in config/xmlui.xconf
    1. Comment out: SearchArtifacts
    2. Uncomment: Discovery
      Code Block
      XMLXML
      
      <xmlui>
          <aspects>
              <aspect name="Artifact Browser" path="resource://aspects/ArtifactBrowser/" />
              <aspect name="Browsing Artifacts" path="resource://aspects/BrowseArtifacts/" />
              <!--<aspect name="Searching Artifacts" path="resource://aspects/SearchArtifacts/" />-->
              <aspect name="Administration" path="resource://aspects/Administrative/" />
              <aspect name="E-Person" path="resource://aspects/EPerson/" />
              <aspect name="Submission and Workflow" path="resource://aspects/Submission/" />
      	<aspect name="Statistics" path="resource://aspects/Statistics/" />
      
              <!--
                  To enable Discovery, uncomment this Aspect that will enable it
                  within your existing XMLUI
                  Also make sure to comment the SearchArtifacts aspect
                  as leaving it on together with discovery will cause UI overlap issues-->
              <aspect name="Discovery" path="resource://aspects/Discovery/" />
      
      
      
      
              <!--
                  This aspect tests the various possible DRI features,
              <!--
          it helps a theme developer create themes
        This  aspect tests the various possible-->
       DRI features,
            <!-- <aspect name="XML Tests" path="resource://aspects/XMLTest/"/> -->
       it helps a theme developer create themes
              -->
              <!-- <aspect name="XML Tests" path="resource://aspects/XMLTest/"/> -->
          </aspects>
      
  2. Enable the Discovery Indexing Consumer that will update Discovery Indexes on changes to content in XMLUI, JSPUI, SWORD, and LNI in config/dspace.cfg
    1. Add discovery to the list of event.dispatcher.default.consumers
    2. Change recent.submissions.count to zero
      Code Block
      
      #### Event System Configuration ####
      
      # 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
      
      #Put the recent submissions count to 0 so that discovery can use it's recent submissions,
      # not doing this when discovery is enabled will cause UI overlap issues
      #How many recent submissions should be displayed at any one time
      #recent.submissions.count = 5
      recent.submissions.count = 0
      
  3. Check that the port is correct for solr.search.server in config/dspace-solr-search.cfg
    1. 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
      
  4. 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.

Instructions for Configuring Discovery

Discovery can be configured at multiple levels of the application. Outlined below will be where in Discovery changes can be made that will alter the presentation. The primary place that the user experience is altered in XMLUi is through the dspace-solr-search.cfg file

Configuring Facets that are Exposed for Search Results

    1.  </aspects>
      
  1. Enable the Discovery Indexing Consumer that will update Discovery Indexes on changes to content in XMLUI, JSPUI, SWORD, and LNI in config/dspace.cfg
    1. Add discovery to the list of event.dispatcher.default.consumers
    2. Change recent.submissions.count to zero
      Code Block
      
      #### Event System Configuration ####
      
      # 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
      
      #Put the recent submissions count to 0 so that discovery can use it's recent submissions,
      # not doing this when discovery is enabled will cause UI overlap issues
      #How many recent submissions should be displayed at any one time
      #recent.submissions.count = 5
      recent.submissions.count = 0
      
  2. Check that the port is correct for solr.search.server in config/dspace-solr-search.cfg
    1. 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
      
  3. 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.

Instructions for Configuring Discovery

Discovery can be configured at multiple levels of the application. Outlined below will be where in Discovery changes can be made that will alter the presentation. The primary place that the user experience is altered in XMLUi is through the dspace-solr-search.cfg file

Configuring Facets that are Exposed for Search Results

Property:

solr.search.server

Example Value:

http://localhost:8080/solr/search

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.search.server

Example Value:

http://localhost:8080/solr/search

Informational Note:

Discovery relies on a SOLR index. This parameter determines the location of the SOLR index.

Property:

solr.facets.search community

Example Value:

solr.facets.searchcommunity=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 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 item

Example Value:

solr.facets.siteitem=dc.contributor.author,dc.subject,dc.date.issued_dt .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:

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 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.facetssite.default.collection filterQuery

Example Value:

solr.facetssite.default.collectionfilterQuery=dc.contributor.author,dc.subject,dc.date.issued_dt .author:Kevin*

Informational Note:

Defines the facet fields, offered on collection homepages 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.facetsdefault.item filterQuery

Example Value:

solr.community.facetsdefault.itemfilterQuery=dc.contributor.author,dc.subject,dc.date.issued_dt :Kevin*

Informational Note:

Defines the facet fields, offered on item pages 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=location:l2 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

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.sitesearch.default.filterQuery

Example Value:

solr.sitesearch.default.filterQuery=dc.contributor.author:Kevin* embargo:lifted

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 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.communitysearch.default.filterQuery filters

Example Value:

solr.community.default.filterQuery=dc.contributor.author:Kevin* dc.title, dc.contributor.author, dc.subject, dc.date.issued.year

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 Defines which fields are shown in the (advanced) search form.

Property:

solr.collectionsearch.default.filterQuery sort

Example Value:

solr.collectionsearch.default.filterQuery=sort=dc.title, dc.contributor.author:Kevin* 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.

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.searchindex.defaulttype.filterQuery date

Example Value:

solr.search.default.filterQuery=dc.embargo:lifted .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

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.searchrecent-submissions.filters size

Example Value:

dc.title, dc.contributor.author, dc.subject, dc.date.issued.year solr.recent-submissions.size=5

Informational Note:

Defines which fields the number of items that are shown in the (advanced) search formRecently Added lists.

Property:

solr recent.searchsubmissions.sort-option

Example Value:

solr recent.searchsubmissions.sort-option=dc.title, dc.date.issuedaccessioned_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. The indexed metadata field on which Discovery sorts to determine which items were recently submitted

Property:

solr.index search.typefacet.date max

Example Value:

solr search.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

Solr itself now runs two cores.  One for collection DSpace Solr based "statistics", the other for Discovery Solr based "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

Solr itself now runs two cores.  One for collection DSpace Solr based "statistics", the other for Discovery Solr based "search"

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
     
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
            ├── DRIexample.xsl
            ├── example_atom.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
rss.xsl
            └── luke.xsl

Discovery Webinar Recording

This webinar has been broadcasted on June 1st, 2011 and its contents relate to DSpace 1.7

http://www.ustream.tv/recorded/15095992

Image Added

Introduction

In the introduction, we will briefly talk about the differences between discovery and regular search/browse and highlight some minor changes between Discovery in DSpace 1.7.0 and DSpace 1.7.1

Hiding metadata from discovery

By default, most of the metadata (actually all of them with the exception of a few provenance fields) are indexed in Discovery with the aim of producing search results. In case you want to keep some metadata fields entirely private, we'll show you how to achieve this.

Configuring different fields in the auto-complete drop-down

The Discovery Search pane feature a dropdown and a search box, in which entered values are auto-completed against values from specific metadata fields. We will show you how you can include additional values in the dropdown, so they can be used for auto completion.

Discovery Browse: Creating new facets

Out of the box, Discovery comes with facets for Author, Subject and Date issued. We will give a step by step example of how you create a facet for an additional metadata value.

Special case: Creating a new date value facet

Elaborating on the example from 4. we will show you the special case of adding a new date value facet.

Future work discussion

In the context of DSpace 1.8, Discovery is very much work in process, with some new developments in the pipeline. We're very much looking forward to what you expect from this feature.