Uploaded image for project: 'DSpace'
  1. DSpace
  2. DS-971

New Discovery configuration system



    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.0
    • Fix Version/s: 1.8.0
    • Component/s: Discovery
    • Labels:
    • Attachments:
    • Comments:
    • Documentation Status:


      The current configuration of discovery by using the dspace-solr-search.cfg, is limited. Therefore a new way of configuring discovery has been created, which is much, much more flexible.
      The configuration is now located within 2 files:

      {dspace.dir}/config/modules/discovery.cfg which differs immensely from the old cfg file since it only contains the location of the solr server and some general discovery settings which have nothing to do with what the user is offered in the UI.
      2) The {dspace.dir}

      /config/spring/spring-dspace-addon-discovery-configuration-services.xml file which uses the DSpace services. This file contains all the setting of what the UI is to render on its discovery pages.
      In this file a separate configurations can be created for
      a) the main page discovery search (dspace.url/discovery)
      b) for each community/collection
      So each community/collection can have its own sidebar facets, search filters, sort options and even the recent submissions count/sort metadata field can be configured.

      The old configuration also required the very confusing post fixes of "_dt", ".year", these have also been left out, for metadata fields that are dates all that has to be added is a "type=date".
      Some new features have also become available while creating this configuration, these include:

      • A sidebar facet/search filter can contain more then one metadata field, so for example the "authors" sidebar facet can contain dc.contributor.author but also dc.contributor.creator, ....
      • In the old discovery it wasn't possible to create search filters/sidebar facets which use "*" as a qualifier, this is now possible.
      • Sidebar facets can now also be sorted by "VALUE" and not only by "COUNT", this can be very usefull if a limited number of metadata values are present for a metadata field.
      • For each sidebar sidebar facet the maximum number of shown facets can be configured (except for dates since these use a different system (the year grouping))
      • A new setting has been created to configure the metadata which are NOT to be indexed.
      • For the discovery developers a services plugin mechanism has been created into the indexing class of discovery, this plugin does not require any additions in the configuration files but uses spring.
        All that a user has to do is inherit from an interface which contains 1 method (which is called when indexing a community/collection/item) and reference it in a spring file. Which can be located in a jar or in the {dspace.dir}

        /config/spring directory.

      The code for these features is about 90% done, I have not added a patch yet since I first want to get it fully operational.
      However the 2 new configuration files have been added so that anybody interested can take a look.
      I'm also working on the documentation on how to configure Discovery since all options may not be that clear, but the configuration files do give a good overview.




            kevin van de velde Kevin Van de Velde (Atmire)
            kevin van de velde Kevin Van de Velde (Atmire)
            0 Vote for this issue
            1 Start watching this issue