...
The following IndexerPlugins has been added in the [installDir]/config/spring/api/discovery.xml file
Additional indexing plugin to implement the CRIS browse system via SOLR
...
Additional indexing plugin to add resource type in human format readable to SOLR document used to cluster types in the global search
Code Block | ||||
---|---|---|---|---|
| ||||
<bean id="resourceTypeIndexer" class="org.dspace.app.cris.discovery.ResourceTypeSolrIndexer" /> |
...
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
- What is it? How is it configured? Andrea Bollini (4Science)
...
by a special facet containing the values as derived from the configuration in [installDir]/config/modules/cris.cfg
all the configuration are in the format
Code Block | ||||
---|---|---|---|---|
| ||||
facet.type.<entity> = Value to store in the SOLR document in the format sortvalue\n|||\nDisplayed value###authority |
the authority is the key of the Discovery configuration map to use when the search is restricted or the results limited to a specific entity.
Entity can be one of item, community, collection, crisrp, crispj, crisou
Code Block | ||||
---|---|---|---|---|
| ||||
facet.type.item = 001publications\n|||\nPublications###publications
facet.type.community = 007communities\n|||\nCommunities###community
facet.type.collection = 006collections\n|||\nCollections###collection
facet.type.crisrp = 009researchers\n|||\nResearcher profiles###researcherprofiles
facet.type.crispj = 010projects\n|||\nFundings###fundings
facet.type.crisou = 008orgunits\n|||\nOrganizations###orgunits |
For additional entities, 2nd level CRIS object (ResearchObject), the shortname of the entity prefixed with crisdo. is used (i.e. crisdo.crisprize)
Code Block | ||||
---|---|---|---|---|
| ||||
##You can define a clustered type for other research object or set a fine granularity configuration custom - use @label@ to use default behaviours (<typedefinitionlabellowercase>|||<typedefinitionlabel>)
facet.type.crisdo.default = others\n|||\nOthers###crisothers
#facet.type.crisdo.crisprize = prize\n|||\nHonours, Awards and Prizen###crisprizefacet.type.crisdo.crisjournals = @label |
It is also possible to create "virtual" defined entity from DSpace item on a dc.type (or other metadata) basis
The exact metadata to use is defined by
Code Block | ||||
---|---|---|---|---|
| ||||
global.item.typing = dc.type |
the metadata value, lowercase, whitespace stripped is used as "entity" in the previous configuration properties, i.e.
Code Block | ||||
---|---|---|---|---|
| ||||
facet.type.thesis = 005theses\n|||\nTheses###theses
facet.type.patents = 004patents\n|||\nPatents###patents
facet.type.dataset = 003dataset\n|||\nDatasets###datasets
facet.type.conferenceproceeding = 002conferencematerials\n|||\nConference Materials###conferencematerials
facet.type.conferencepaper = 002conferencematerials\n|||\nConference Materials###conferencematerials
facet.type.presentation = 002conferencematerials\n|||\nConference Materials###conferencematerials
facet.type.poster = 002conferencematerials\n|||\nConference Materials###conferencematerials |
Result rendering and highlighting
The result of a global search are displayed using a new DSpace Tag, dspace:discovery-artifact, that show each entry as a list item with a heading and a description. Using spring beans it is possible to customize which fields are displayed for each result, both in the heading than in the description. For each field it is possible to decide if the information are always shown or included it only when in this specific field there is a match with the searched terms.
The default configuration is defined in the [installDir]/config/spring/api/discovery-global.xml
Code Block | ||||
---|---|---|---|---|
| ||||
<bean name="global"
class="org.dspace.discovery.configuration.DiscoveryViewAndHighlightConfiguration">
<property name="viewConfiguration">
<map>
<entry key="community">
<bean
class="org.dspace.discovery.configuration.DiscoveryViewConfiguration">
... |
for each entity type, as defined in the global search, it is possible to specify a separate configuration
Code Block | ||||
---|---|---|---|---|
| ||||
<bean
class="org.dspace.discovery.configuration.DiscoveryViewConfiguration">
<property name="metadataHeadingFields">
<list>
<bean
class="org.dspace.discovery.configuration.DiscoveryViewFieldConfiguration">
<property name="mandatory" value="true"/>
<property name="preHtml" value="<h4 class='text-primary'>" />
<property name="postHtml" value="</h4>" />
<property name="field" value="name" />
<property name="decorator" value="title" />
</bean>
</list>
</property>
<property name="metadataDescriptionFields">
<list>
<bean
class="org.dspace.discovery.configuration.DiscoveryViewFieldConfiguration">
<property name="field" value="dc.description.abstract" />
<property name="preHtml" value="<span>" />
<property name="postHtml" value="</span>" />
</bean>
</list>
</property>
</bean> |