Indexing multiple ISSNs in a single bib results in identifier|issn lookup failure
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
High
|
Unassigned | ||
2.1 |
Fix Released
|
High
|
Unassigned |
Bug Description
* Evergreen master
The default config.
However, if you extend the index definition for ISSN to include, say, 780 $x and 785 $x to return hits for the preceeding and succeeding versions of the periodical, or even simply have a print and electronic version of the ISSN in the same record, then the space replacement function wreaks havoc as all of the entries which would have been separated by a space are indexed without spaces.
What we want:
conifer=# SELECT * FROM metabib.
id | source | field | value | index_vector
11097172 | 603139 | 19 | 1433-7851 0044-8249 1521-3773 0570-0833 0935-9648 | '00448249':2 '05700833':4 '09359648':5 '14337851':1 '15213773':3
What we currently have:
id | source | field | value | index_vector
11097172 | 603139 | 19 | 1433-7851 0044-8249 1521-3773 0570-0833 0935-9648 | '14337851004482
To do less harm, I propose that we remove the replace(" ", "") rule from 950.sql in the base schemas. I suppose we'll have to write an upgrade script that removes the rule and reindexes anything with more than one ISSN.
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
Oh, and in case it's not clear, in what we currently have a search for "1433-7851" in identifier|issn would return nothing; only a search for "14337851004482 491521377305700 83309359648" returns the desired record in that case. Which is clearly not optimal behaviour :)