properties | |
---|---|
Page Owner | emaijala |
Supported from VuFind® 9.0.
Blended search makes it possible to display search results from two or more sources in a single results list. It also supports mapping of facets into unified options as well as mapping active filters to those in multiple backends.
This makes it possible e.g. to display authority records alongside bibliographic records, or include records from the local index as well as an index of licensed electronic material (e.g. Ex Libris Central Discovery Index or EBSCO Discovery Service). Or both. There's no hard limit on the number of backends, though mappings naturally get more complicated when the number of backend increases.
The actual search backends should be configured and tested to work before configuring blended search. These include:
Make sure that the backends that you want to use with blended search work properly standalone before continuing.
It is strongly recommended to enable search caching for each backend to improve performance and reduce duplicated requests. See the [SearchCache] section for the relevant search configuration file for details. Using Memcached is recommended.
Blender
can be configured as a search tab in SearchTabs section of config.ini or as default backend by setting `defaultSearchBackend = Blender` in Site section. The URL for blended search results is <vufind base address>/Search/Blended
.
The following instructions assume that VuFind®'s local directory is local
, so all
configuration files to be modified are under the local/config/vufind
directory. Adjust as necessary.
The actual configuration is done with two files: Blender.ini and BlenderMappings.yaml. Blender.ini contains settings for configuring the search similarly to other backends. BlenderMappings contains all the mappings from backends to common values for facets, search type mappings and sort options.
It is recommended to choose one backend as the “primary” one and use its facet values etc. as the target to which all the other backends are mapped to. This makes configuration easier. However, there's nothing preventing the use of a Blender-specific set of facets that all backends map to, if desired.
Note that Blender supports its own pseudo-facet blender_backend
. It can be used to display all the backends as a facet field and limit results to one or more of them. blender_backend
can also be used as a checkbox filter. See [CheckboxFacets] in Blender.ini for examples.
This is expected to be the most laborsome part of the configuration.
There are several noteworthy features particularly with facet mappings:
Ignore
setting.Hierarchical: true
to indicate that. In such case Blender will automatically populate any upper levels as well. Example:Facets: Fields: format: Mappings: EDS: Field: SourceType Hierarchical: true Values: Academic Journals: "1/Journal/eJournal/"
The above example would map “Academic Journals” from EDS into “0/Journal/” and “1/Journal/eJournal/”.
Facets: Fields: fulltext: Type: boolean Mappings: Solr: Field: fulltext_boolean Primo: Field: pcAvailability Values: "false": 1 DefaultValue: "true" EDS: Field: "LIMIT|FT" Values: "y": true
With the above example, fulltext:1
filter can be used to limit results to available full text resources. With Primo, the pcAvailability filter works the opposite way and must be set to true for the search to return also other resources. The above configuration sets the default value to “true” for just that effect. If fulltext:1
filter is activated, it is mapped to “false” overriding the default value.