From 254314e2be1c73308253e8b099d8c2b1919dfb46 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Tue, 16 Oct 2018 15:09:32 +0000 Subject: [PATCH] Bug 21581: Pass through authorities indexes FIXME: We need unit tests To test: 1 - Define a rule: Matching rule code: LCAUTH Match threshold: 100 Record type: Authority record MATCH POINTS Search index: LC-card-number Score: 100 Tag: 010 Subfield: a 2 - Have a record with an LC number in 010 3 - Export it 4 - Edit the record in Koha, move the value from 010 to another field 5 - Import the original record 6 - Use the matching rule above, you expect it won't match (nothing in 010 anymore) 7 - It matches?!?!?! 8 - Enable zebra logging in koha-conf.xml none,fatal,warn,request,info 9 - tail -f /var/log/koha/kohadev/zebra-output.log 10 - On manage marc apply matchign with no rule, then reapply with rule 11 - View the output in the log - the index searched is 'Any' 12 - Apply patch 13 - Reapply matching 14 - Note we search the expected index and no match is found NOTE: By applying bug 21579, I was able to view the difference, and see that it didn't match identically, because I had moved the value from 010 to 155. No log checking needed. clean/delete batch. Apply patch, no match. clean/delete batch. Edit authority back, matches. Signed-off-by: Mark Tompsett --- C4/AuthoritiesMarc.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm index 293f64b018..e3d3308a5d 100644 --- a/C4/AuthoritiesMarc.pm +++ b/C4/AuthoritiesMarc.pm @@ -164,7 +164,7 @@ sub SearchAuthorities { $attr = " \@attr 1=Subject-heading-thesaurus "; } else { # Assume any if no index was specified - $attr = " \@attr 1=Any "; + $attr = " \@attr 1=" . @$tags[$i] . " "; } } #if @$tags[$i] else { # Assume any if no index was specified -- 2.11.0