Versions Compared

Key

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

...

display-type can be anything except metadata and metadataAuthority that are reserved word for the two level browse. It is recommended to use the prefix the shortname of the Class with the word cris i.e. crisrp for researchers, crisou for orgunits, crispj for project and finally cris<shortname of the dynamic object>; again, this is just a convention to make the configuration more readable but any word than metadata* or metadataAuthority can be used to define a full browse. A general name is useful when you want create several browse on the same entity (for example org unit) that explore different subsets (i.e. internal structure, external organization, etc.). Indeed, using the browse name it is possible to define filter to apply to the general SOLR query, see “Apply filters to the browse indexes”

...

Code Block
webui.browse.index.<n> = <index-name>:metadata|metadataAuthority|metadataXXXX:<schema.element.qualifier>:<text|date>

...


index-name is used as reference in the column definition configuration to apply specific configuration for that browse

schema.element.qualifier defines the field upon which the browse is build

text|date specify if the values must be interpreted as String or Dates for sorting

Apply filters to the browse indexes

metadata is used to build a browse on any values used with or without authority

  • metadataAuthority limit the browse to only the value with an authority key
  • metadataXXXX where XXXX can be anything behave as metadata allowing separe definition of default filtering for the browse (see next section)

schema.element.qualifier defines the field upon which the browse is build

text|date specify if the values must be interpreted as String or Dates for sorting

Apply filters to the browse indexes

It could be useful to restrict the set of objects for a specific browse applying additional SOLR filter query. To configure a filter for a specific browse you can define the following configuration property

Code Block
browse.solr.bi_<display-type>.filter = <your-solr-filter-query>


display-type is the value of the second part of the browse configuration. It is metatadata, metadataAuthority or metadata<Something> for two levels browse or something else for the configuration of a full browse index.
For example

Code Block
browse.solr.bi_item.filter = dateissued:[2000 TO *]


It will limit the browse to the items published after the 2000,

Code Block
browse.solr.crisou.filter = crisou.relationwith_authority:"ou00001"

It will limit the browse to the OrgUnits that have the field “relationwith” valorized with a pointer to the OrgUnit ou00001.

When you are limiting a two level browse you need to configure, typically the same filter, also for the second level. In such case the browse index is usedIt could be useful to restrict the set of objects for a specific browse applying additional SOLR filter query. To configure a filter for a specific browse you can define the following configuration property

Code Block
browse.solr.<display-type>bi_<n>_dis.filter = <your-solr-filter-query>

...

For example

Code Block
webui.browse.index.2 = author:metadataauthor:dc.contributor.*,dc.creator:text
browse.solr.bi_metadataauthor
Code Block
browse.solr.item.filter = dateissued:[2000 TO *]

...

Code Block

browse.solr.crisoubi_2_dis.filter = crisou.relationwith_authority:"ou00001"dateissued:[2000 TO *]

It will limit the browse to the OrgUnits that have the field “relationwith” valorized with a pointer to the OrgUnit ou00001.contains the authors names of only item published from the 2000 on and to list under such names only these items

ItemEnhancer: virtual metadata

The enhancers allow to access information not immediately available in an object (item or cris object) as it was a direct metadata/field of the object. In this way it is for example possible to access the item author’s affiliation as it was an item metadata.
There are three type of enhancer:

...

The previous example will create the virtual metadata crisitem.author.dept that will be evaluated as valorized with it contains the department name of the researcher linked to the item through the metadata dc.contributor.author..contributor.author as text value and the CRIS ID of the department as authority. 

The following snippet show a CRISEnhancer and a CRISNestedEnhancer

...

The first one allow to use crispj.dept instead of cripj.coinvestigators.dept in this way the field of the target OrgUnit are available for indexing when working on the Project.
The second one allows access to the agencies (the value) of the nested object named grant (the alias) using the metadata crispj.agencies where agencies is the key of the qualifiers2path map.grant (the alias) using the metadata crispj.agencies where agencies is the key of the qualifiers2path map.

Note
titleAuthority for CRIS

The enhancers on CRIS object expose the object ID as authority instead of the CRIS ID. This mean that in the previous example the crisph.dept will be a metadata with the name of the department as text value and the Orgunit database ID as authority

Search configuration

Indexes, facets

...

  • Standard DSpace objects such Items, Collections and Communities, the configuration key is the handle of the object if not found the parent object handle will be used as fallback until to the dspacebasic or default key
  • CRIS Objects such ResearcherPages, OrgUnits, Projects, Dynamic Objects, the configuration key is dedined the by the entity type defined the by the entity type, prefixed with cris (ie crisrp, crisou, crisjournals, etc.), with fallback to the default key

To configure a DiscoverySearchFilter, DiscoverySearchFilterFacet, DiscoverySortFieldConfiguration the “DSpace like metadata syntax” previously explained, see metadata in the Browse customization.

Custom Indexer Plugins

The following IndexerPlugins has been added in the [installDir]/config/spring/api/discovery.xml file

...

Code Block
languagexml
themeEclipse
<bean id="researchObjectAuthorityLookupIndexer"  class="org.dspace.app.cris.discovery.ResearchObjectAuthorityLookupSolrIndexer />

Global search

When a generic search is performed in DSpace-CRIS all the entities and the information available in the system are queried. The result are aggregated by type. Inside each type the result are sorted by relevance. The types are defined special facet is defined 

...