Multilingual Search in Evergreen

It is now possible to search for items that contain multiple languages in the Evergreen catalog. This will help facilitate searching for bilingual and multilingual materials, including specific translations, alternative languages, and to exclude specific translations from a search.

To identify the language of materials, Evergreen looks at two different fields in the MARC bibliographic record:

  • 008/35-37: the language code located in characters 35-37 of the 008 tag

  • 041$abdefgm: the 041 tag, subfields $abdefgm, which contain additional language codes

Multilingual searches can be conducted by constructing searches using specific language codes as a filter. To search using specific language codes, use the Record Attribute Definition name item_lang followed by the appropriate MARC Code for Languages. For example, item_lang(spa) will search only for Spanish language materials.

The language filter can be appended to any search. For example, a title search for pippi longstocking item_lang(eng,swe) will search for English or Swedish language publications of the title.

multilingual search1

Search Syntax

To search for materials that contain multiple languages (Boolean AND), the search filters can be constructed in the following ways:

  1. Implicit Boolean filtering: item_lang(eng) item_lang(spa)

    1. Evergreen assumes a Boolean AND between the search filters

  2. Explicit Boolean filtering: item_lang(eng) && item_lang(spa)

    1. The double ampersands (&&) explicitly tell Evergreen to apply a Boolean AND to the search filters

To search for materials that contain at least one of the searched languages (Boolean OR), the search filters can be constructed in the following ways:

  1. List filtering: item_lang(eng,spa)

    1. Listing the language codes, separated by a comma, within the search filter, tells Evergreen to apply a Boolean OR to the search filters

  2. Explicit Boolean filtering: item_lang(eng) || item_lang(spa)

    1. The double pipes (||) explicitly tell Evergreen to apply a Boolean OR to the search filters

To search for materials that contain a specific language and exclude another language from the search results (Boolean NOT), the search filters can be constructed as follows:

  1. Boolean filtering: item_lang(spa) -item_lang(eng)

    1. The dash (-) explicitly tells Evergreen to apply a Boolean NOT to the english language search filter. Evergreen assumes a Boolean AND between the search filters.

To exclude multiple languages from search results (Boolean NOT), the search filters can be constructed as follows:

  1. Boolean filtering: -item_lang(eng) -item_lang(spa)

    1. The dash (-) explicitly tells Evergreen to apply a Boolean NOT to both search filters. Evergreen assumes a Boolean AND between the search filters.

To conduct a search for materials that do not contain at least of the of the languages searched (Boolean “NOT” and “OR”), the search filters can be constructed in the following ways:

  1. List filtering: -item_lang(eng,spa)

    1. Explicit Boolean filtering: -item_lang(eng) || -item_lang(spa)

Within the Advanced Search interface, multiple languages can be selected from the Language filter by holding down the Ctrl key on the keyboard and selecting the desired languages. This will apply a Boolean OR operator to the language filters.

multilingual search2

Adding Subfields to the Index

Additional subfields for the 041 tag, such as h, j, k, and n, can be added to the index through the Record Attribute Definitions interface. Any records containing the additional subfields will need to be reingested into the database after making changes to the Record Attribute Definition.

  1. Go to Administration>Server Administration>Record Attribute Definitions.

  2. Click Next to locate the item_lang record attribute definition.

  3. To edit the definition, double click on the item_lang row and the configuration window will appear.

  4. In the MARC Subfields field, add the subfields you want included in the index.

  5. Click Save.

multilingual search3