Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Synonyms

    If you are working with Primo VE and not Primo, see Linguistic Features for Primo VE.

    Changes to the userSynonyms file requires access to the server. If you are a cloud customer, open a SalesForce case if you want a synonym added.
    Primo adds the following types of synonyms to a search query:
    • Numbers – when a search contains a digit, Primo adds the spelled out number to the search query. For example, Primo adds the word ninth to a search query for 9th.
    • US or British spelling – when a search contains a word spelled according to US or British spelling, Primo adds the corresponding synonym to the search query. For example, Primo adds the word colour to a search query for color.
    • Commonly misspelled words – for commonly misspelled words, Primo adds the word spelled correctly to the search query.

    Primo does not add synonyms during indexing.

    In addition to the synonym, Primo includes the original search term in the query. For example, if the query is fifth dimension, Primo searches for (fifth OR 5th) AND dimension.
    There are two types of synonym files, which are located on your Front End servers:
    • System-provided synonyms – located in the <language>_systemSynonyms file. For example: eng_systemSynonyms
    • Site-provided synonyms – located in the userSynonyms file. If changes are needed, you must change this file on all of the Front End servers, and then deploy the Search Engine Configuration option on the Primo Home > Deploy All page.
    Both of these synonym files are located in the following directory on the Front End servers:
    /exlibris/primo/p<release>_<copy>/ng/jaguar/home/profile/analysis/synonyms
    • Because the synonym files may be overwritten during the installation of service packs, it is recommended that you back them up.
    • Changes to the synonym configuration files have no effect on the results returned from remote searches, CDI (Central Discovery Index), or any other deep search adaptor.
    A single term can map to multiple synonyms by separating each additional synonym and its rank with commas as follows:
    Term = Synonym_1 (Rank_1), Synonym_2 (Rank 2), ..., Synonym_n (Rank_n)
    • Term – the search word from which the synonym is created. This is usually a number, a US spelling of a word, or a commonly misspelled word.

      A term cannot contain more than one word, which is a series of characters delimited by white space (such as a space, non-breaking space, or tab). For details on how special characters are treated by the system, see Normalization of Punctuation and Special Characters. Because hyphens are converted to spaces, a hyphenated word (such as fire-fighter) cannot be used as a term because it is treated as multiple words by the system.

    • Synonym – the synonym added to the query. This is usually the name of the number, the term (British spelling), and the correct spelling of commonly misspelled words. Synonyms may contain multiple words. For example, the synonym for fireman might be defined as fire fighter or fire-fighter.
    • Rank – the boost that will be given to the synonym when search results are ranked. In general, records located by a synonym should receive a lower score than records located by the term used by the user. By defining a different rank per synonym, it is possible to define the relevancy of the synonyms. Terms can be ranked as follows:
      • Very low
      • Low
      • Normal
      • High
      • Very high
      For example:
      10th = tenth (high)
      tenth = 10th (high)
      10 = ten (very high)
      Ten = 10 (very high)
      The boost itself is defined in the search_schema.xml file. The default is defined as follows:
      <synonyms/>
      <levels/>
      <level desc="very high">0.8</level>
      <level desc="high">0.1</level>
      <level desc="normal">0.01</level>
      <level desc="low">0.005</level>
      <level desc="very low">0</level>

      The boost is always less than 1 (the default boost). This ensures that the synonym will receive a lower boost than the term used by the user.

      In addition, it is possible to define the threshold rank for using synonyms. The default is normal, which means that search queries will not use synonyms with the rank low and very low. On-premises customers can define this threshold with the synonyms/threshold parameter in the search_schema.xml file.

    Hyphenated Search Terms

    Searches that include a search term with a hyphen return additional results by automatically including the term's compound word in the search for you. For example, searches for the term chat-room, will also include results for chat room and chatroom. The supported hyphenated terms are based on the same terms used for CDI and are stored in the eng_systemSynonyms file.

    If the hyphenated terms are detected by another language dictionary first, those terms are processed for that language. Otherwise, the system uses the synonyms from the eng_systemSynonyms.file. Non-English environments may want to add synonyms for their language to the <lng>_systemSynonyms or userSynonyms files.

    • Was this article helpful?