Note: an equivalent feature, Multilingual Search, was introduced in Evergreen 3.1.
Proposed feature is to add capability for additional search target languages to be specified.
Currently, Evergreen only allows the language specified in MARC 008 position 35-37 to be the target of a language search.
There is no current mechanism to allow for additional languages to be included as search targets.
The proposed change would add a new table (metabib.language_filter e.g.). This new table would contain a tsvector datatype.
This tsvector would contain the languages associated with each bib record (tag 008 35-37 and selected 041 records).
Search code would be changed to join the metabib.language_filter table during the search query build.
These changes will allow an additional MARC tag (041) and subfields to be searched for language, beyond the standard tag 008 position 35-37.
This feature will allow staff to search for alternate languages, in addition to the primary language found in MARC 008 field position 35-37.
An additional table, metabib.language_filter, would be added. This table would include a tsvector, which contains a vector of languages associated with
a bib record. These languages could be searched by staff using the language pulldown, or the "item_lang" search line command. If no languages were
selected in the language pulldown, there would be no change to current search; the "default" language would be used in searching.
The following perl module would be modified:
Code would be added to include a join on the metabib:language_filter, so that the search languages would be included in the SQL search query.
A new table, metabib.language_filter, would be added to the schema. The columns of the table would be:
The language_filter table would be populated via a sql script, extracting 008 (35-37) and 041 subfields from the biblio.record_entry marc field.
A new trigger would be added:
A new trigger procedure would be added for biblio.record_entry.language_filter_trigger:
A new row would be added to config.org_unit_setting_type. This would allow the MARC 041 subfield(s) to be set via the Library Settings editor of Local Administration. The value in the org_unit_setting_type would be an array containing the specified subfield.