WorldCat Deep Search

General Purpose

The WorldCat Deep-Search is an implementation of the Deep Search plugin.

The WorldCat Deep-Search enables end users to search in WorldCat via the Primo interface and then link to the record in WorldCat.

Primo comes with this implementation built in, but turned off by default.
You will need to follow the implementation steps below to turn on it’s functionality.

NOTE:

  1. If your installation has multiple institutions, you can configure multiple adaptors, one for each institution.
    For this you will need to enable the WorldCatLocal plugin from the “Deep-Search Plugins” mapping table.
  2. In version 4.9.1+ The installation level should have the WorldCatLocal plugin  in the “Deep-Search Plugins” mapping table, so the institution level can inherit from it.

In order to be able to configure its parameters in “Deep Search Plugin parameters”, you’ll need to enable the plugin itself.

Implementation Steps

    1. In the Back-office application go to: Primo Home > Advanced Configuration > All Mapping Tables
    2. Under Sub System “Plugins” you will find the “Deep-Search Plugins” mapping table. Edit it.
      • Make sure that the “WorldCatLocal” plugin is there and that it’s enabled. Plugin class should be “worldcat.local.WorldCatDeepSearch”.
      • Save the mapping table.
    3. Edit the “Deep Search Plugin parameters” mapping table.
      • Make sure that all of the required parameters are present and enabled (See further details below).
      • Save if there were any changes.
    4. Go to “Deploy All” screen in the Back-office, check the “Deep Search Configuration” checkbox and hit “Deploy”.
    5. Some important parameters to be configured:
    6.  
      ParameterExplanation
      URLEnter the URL for the WorldCat search API.
      WCKeyEnter the key used by the institution to authenticate with WorldCat services. You should not encrypt it in any way.

      Make sure though to insert the value in the “Param value – Encrypted” column, and leave the “Param value” column empty for this row.

      primo_rankIf you blend WorldCat with other search engines (such as Primo local and Primo Central), it is recommended to set this parameter to true.
      This means that Primo will apply its own ranking algorithm to the records returned by WorldCat so that they can be blended with the other results.
    7. (Optional) Configure conversion parameters to override the OTB configurations.
      This should be considered only if you are not satisfied with the OTB results.
      These settings affect the conversion of the Primo’s search syntax to the WorldCat SRU/SRW API
      as well as the conversion from the WorldCat records to a PNX.
    8. The following are 4 parameters that can be configured also through the mapping table.
    9. ParameterExplanation
      QueryConversionDefines additional mappings for the conversion of the Primo index to the WorldCat index.
      For more information, see QueryConversion Parameter.
      MapConversionConverts WorldCat values to Primo values in the query that is sent from Primo to WorldCat.
      For more information, see MapConversion Parameter.
      ResponseConversionConverts additional fields from the WorldCat record to the PNX in addition to the fields converted by the adapter program.
      For more information, see ResponseConversion Parameter.
      PnxConversionConverts WorldCat values to Primo values.
      For more information, see PnxConversion Parameter.
    10. Add the WorldCat adapter to a search scope in the view and then deploy the view.
      The adapter can be added separately to a new search scope or to an existing one:
    11. Optionally, you can configure availability and delivery as explained in the section below.*
      If this is not done, no GetIt tab will display for WorldCat records and the availability status will display WorldCat.

QueryConversion Parameter

This parameter defines additional or overrides mappings for the conversion of the Primo search fields to the WorldCat fields.
The adapter uses the following format for each conversion, which contains a Primo field, a WorldCat field, and a relational operator.

To implement this parameter edit the “Deep Search Plugin parameters” Mapping table:

Enter “QueryConversion” in the “Param name*” column and the value (for example: “Primo_field,WorldCat_field+Relational_operator+;Conversion_2_entry;Conversion_3_entry;…”) in the “Param value” column.
Make sure to select/type-in the correct plugin in the “Plugin*” column.

Additional conversions are separated with a semicolon, and only one entry is permitted per Primo field.
The following relational operators are valid:

any – Any of your search terms can match.
all – All of your search terms must find a match.
= (equal sign) – Your search terms must all match without intervening words. This is sometimes called an unanchored phrase search.

Out of the box, the adapter is configured with:

title,srw.ti+all+
creator,srw.au+all+
(subject) = sub,srw.su+all+
isbn,srw.bn+all+
issn,srw.in+all+
(language from Advanced search) = facet_lang,srw.la+all+
(material type pre-filter) = facet_pfilter,srw.dt+any+ (For more information about the way Primo searches WorldCat’s document type index , see MapConversion Parameter.)

WorldCat does not return facets, but the adapter will map facet types to WorldCat fields and send the requested facet value with the
“AND” Boolean operator added to the original query.
Out of the box, the adapter supports the following mappings between facets and WorldCat indexes:

facet_topic,srw.su+all+
facet_rtyp,srw.dt+any+
facet_creator,srw.au+all+
facet_jtitle,srw.ti+all+
facet_creationdate,srw.yr+=+ (as required)

If the user selects a facet that is not mapped to a WorldCat index, no query is sent to WorldCat.
Note that since WorldCat does not return facet counters, counters will not display for any Search Engine
in a blended search with the exception of the top-level facets.

In the following example, the Primo title search will now be
performed against WorldCat’s srw.kw field, using the ‘all’ relational operator:

“Param name*”: “QueryConversion”
“Param value”: “title,srw.kw+all+”

MapConversion Parameter

This parameter defines additional or overrides mappings that convert Primo values to WorldCat values in the query that is sent from Primo to WorldCat.
This is required when the search is limited to a specific resource type.
The adapter uses the following format for this parameter:

“Param name*”: “MapConversion”
“Param value”: <Primo_field_code>,<Primo_resource_type>,<WorldCat_resource_type>;entry_2;entry_3;…

Additional conversions are separated with a semicolon.

Out of the box, the adapter maps the following resource types for facet_pfilter values (pre-filter searches):

facet_pfilter,books,bks
facet_pfilter,journals,ser
facet_pfilter,maps,map
facet_pfilter,images,vis
facet_pfilter,scores,sco
facet_pfilter,audio_video,vis rec
facet_pfilter,websites,url
facet_pfilter,articles,art

Out of the box, the adapter maps the following resource types for facet_rtype values (resource type facet):

facet_rtype,books,bks
facet_rtype,text_resources,bks
facet_rtype,media,rec
facet_rtype,media,vis
facet_rtype,journals,ser
facet_rtype,maps,map
facet_rtype,images,vis
facet_rtype,scores,sco
facet_rtype,audio_video,vis
facet_rtype,audio_video,rec
facet_rtype,databases,url
facet_rtype,websites,url
facet_rtype,articles,art

Here are the descriptions for the WorldCat resource types:

art – Articles
bks – Books
com – Computer files
int – Continually updated resources
map – Maps
mix – Mixed material (Archival Materials)
sco – Musical scores
ser – Serials (Journals and Magazines)
rec – Sound recordings
url – Internet Resource
vis – Visual Materials

In the following example, the value YYY will be sent to WorldCat if the user searches for XXX in Primo’s resource type field:

“Param name*”: “MapConversion”
“Param value”: “facet_pfilter,XXX,YYY”

ResponseConversion Parameter

This parameter defines additional or override mappings for the conversion of fields from the WorldCat record to the PNX.

“Param name*”: “ResponseConversion”
“Param value”: <PNX_section>,<PNX_property>,<WorldCat_field>;entry_2;entry_3;…

Additional conversions are separated with a semicolon.
For information on how the adapter converts the WorldCat record to the PNX, see Converting the WorldCat Record to the PNX.

For example:

“Param name*”: “ResponseConversion”
“Param value”: “display,format,dc:format;display,description,dc:description”

PnxConversion Parameter

This parameter enables the conversion of values for specific fields in the source WorldCat record to other values in the PNX.
In the out-of-the-box adaptor settings, it maps WorldCat resource types to PNX resource types.
The adapter uses the following format for this parameter:

“Param name*”: “PnxConversion”
“Param value”: <WorldCat_field_name>,<WorldCat_value>,<Primo_value>;entry_2;entry_3;…

Additional conversions are separated with a semicolon.

NOTE: The PNX field that is used is defined with the ResponseConversion parameter,
which defines the mapping between the WorldCat record field and the PNX field.
For more information, see ResponseConversion Parameter.

Out of the box, the adapter maps the following WorldCat types (dc:type) to Primo types, which can be overridden:

dc:type,Text,book
dc:type,Dataset,statistical_data_set
dc:type,Event,other
dc:type,Image,image
dc:type,Interactive Resource,website
dc:type,Model,other
dc:type,Party,other
dc:type,physical object,other
dc:type,Place,other
dc:type,Software,other
dc:type,Service,other
dc:type,Sound,audio
dc:type,Collection,other

In the following example, the WorldCat type field (dc:type) maps the WorldCat value XXX to the Primo value YYY:

“Param name*”: “PnxConversion”
“Param value”: “dc:type,XXX,YYY”

Converting the WorldCat Record to the PNX

This section describes the default conversion to the PNX.
Note that in some cases a hardcoded value is either used as the value of the PNX field or appended to the WorldCat value.
Examples of fields that use hardcoded values include the <control:recordid> and <control:sourceid> fields.

Out of the box, the adapter makes the following conversions:

Control section:
control,recordid,WorldCat
control,sourcerecordid,trm:recordIdentifier
control,sourcerecordid,trm:recordIdentifier
control,sourceid,WorldCat

    Additional Data section:
addata,abstract,dc:description
addata,addau,dc:contributor
addata,au,dc:creator
addata,btitle,dc:title
addata,format,book
addata,date,dc:date
addata,risdate,dc:date
addata,genre,dc:type
addata,ristype,dc:type
addata,pub,dc:publisher
addata,oclcid,oclcterms:recordIdentifier

    Display section:
display,source,WorldCat
display,language,dc:language
display,subject,dc:subject
display,title,dc:title
display,type,dc:type
display,creator,dc:creator
display,contributor,dc:contributor
display,publisher,dc:publisher
display,creationdate,dc:date
display,ispartof,dc:source
display,identifier,dc:identifier
display,description,dc:description
display,relation,dc:relation
display,coverage,dc:coverage
display,rights,dc:rights

    Search section:
search,subject,dc:subject
search,title,dc:title
search,rsrctype,dc:type
search,recordtype,dc:type

    Sort section:
sort:creationdate,dc:date
sort:title,dc:title

    Delivery section:
delivery:delcategory,Remote Search Resource
delivery:fulltext,worldcat

    Links section:
links:linktorsrc,$$Uhttp://www.worldcat.org/wcpa/oclc/
links:linktorsrc,trm:recordIdentifier

NOTE: The last two lines are concatenated to create the following link: $$Uhttp://www.worldcat.org/wcpa/oclc/<Worldcat ID>

Setting Up Availability and Delivery

Delivery for WorldCat records can be set up in two different ways via the standard Delivery code and mapping tables.
The important thing to keep in mind is that the delivery category for WorldCat records is Remote Search Resource.
Since availability for this delivery category always concerns availability of full text,
the availability status is defined in the delivery/fulltext field and is defaulted to worldcat.

Option 1: The GetIt! Tab Links to the Record in WorldCat

Perform the following steps to configure availability and delivery:

  1.     Update the Getit! Link 1 Configuration mapping table.
    Add a line for delivery category=Remote Search Resource and Availability status=worldcat in order to define the GetIt 1 tab.
    Assign linktorsrc as the field to use for linking.
    You can also mark the row as having a direct link to Worldcat in case your view is defined to
    enable a direct link from the title to an online resource.
  2. Update the Getit! Tab 1 Text Configuration mapping table. Add a code for the new tab:
  3. Update the GetIT! Tab 1 code table. Create label for new table:
  4. Update the Calculated Availability Status code table. Define the availability status label and color:
  5. Deploy All Code Tables and Mapping Tables and Delivery Settings (GetIt and Availability) settings.

Option 2: Link to Alma Get It Services

Perform the following steps to configure availability and delivery:

  1.     Update the Getit! Link 1 Configuration mapping table.
    Add a line for delivery category=Remote Search Resource and Availability status=worldcat
    in order to define the GetIt 1 tab. Assign Almagetit_remote as the field to use for linking:
  2. Update the Getit! Tab 1 Text Configuration mapping table. Add a code for the new tab:
  3. Update the GetIT! Tab 1 code table. Create a label for the new table:
  4. Update the Calculated Availability Status code table. Define the availability status label and color:
  5. Deploy All Code Tables and Mapping Tables and Delivery Settings (GetIt and Availability) settings.

 

Configuring the WorldCat API for Multiple Institution

The WorldCat adapter can be configured differently for each institution so that each can insert its own WorldCat API key.

In Back Office:

1. Customize the mapping tables “Deep-Search Plugins” and “Deep Search Plugin parameters” (if there’s a need) for each institution and define different parameters and values according to your needs.

2. Save the mapping tables at all modified levels and deploy “Deep Search Configuration” from the “Deploy all” section.

3. Add the adaptor to a search scope via the View Wizard. Deploy the View.

4. Availability and Delivery can also be configured per institution if the relevant code and mapping tables (see explanation above) are configured at the institution level.