This bug was highlighted by use of Elasticsearch. ES default indexing of ISBN uses Business::ISBN to normalize ISBN in the DB and save all variations. This works great but it does mean that: 9780670026623 (alk. paper) Is indexed as: 9780670026623 So when importing a record a search for: 9780670026623 (alk. paper) returns no results. We need to implement an ISBN normalizer to handle this case
Created attachment 91550 [details] Sample import file
Created attachment 91551 [details] [review] Bug 23324: Add an ISBN normalization routine To test: 1 - Set SearchEngine to ElasticSearch 2 - Stage the sample file (import it if it doesn't already exist in your catalog and then stage again) 3 - Set matching rule to ISBN 4 - No matches found 5 - Apply patch 6 - Apply no matchign rule 7 - Change the ISBN matching rule to use ISBN normalizer 8 - Apply matching rule for ISBN 9 - It matches!
Created attachment 91557 [details] [review] Bug 23324: Add an ISBN normalization routine To test: 1 - Set SearchEngine to ElasticSearch 2 - Stage the sample file (import it if it doesn't already exist in your catalog and then stage again) 3 - Set matching rule to ISBN 4 - No matches found 5 - Apply patch 6 - Apply no matchign rule 7 - Change the ISBN matching rule to use ISBN normalizer 8 - Apply matching rule for ISBN 9 - It matches! Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org>
What about NormalizeISBN in C4/Koha ?
Created attachment 92116 [details] [review] Bug 23324:(QA follow-up) Use existing NormalizeISBN function
(In reply to Marcel de Rooy from comment #4) > What about NormalizeISBN in C4/Koha ? I didn't know about that! I altered these patches to use it. I think eventually the whole routine should be moved here, but I elected to keep this smaller as it affects stable (using ES) and prevents matching imports on ISBN - I added a FIXME
Created attachment 92253 [details] [review] Bug 23324: Add an ISBN normalization routine To test: 1 - Set SearchEngine to ElasticSearch 2 - Stage the sample file (import it if it doesn't already exist in your catalog and then stage again) 3 - Set matching rule to ISBN 4 - No matches found 5 - Apply patch 6 - Apply no matchign rule 7 - Change the ISBN matching rule to use ISBN normalizer 8 - Apply matching rule for ISBN 9 - It matches! Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Created attachment 92254 [details] [review] Bug 23324: (QA follow-up) Use existing NormalizeISBN function Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Created attachment 92255 [details] [review] Bug 23324: (QA follow-up) Typo and remove unneeded use statement Two typos in POD typo for routine name. Remove "use Business::ISBN" from Normalize.pm. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Nice work! Pushed to master for 19.11.00
Pushed to 19.05.x for 19.05.04
backported to 18.11.x for 18.11.10