Bug 21581: Pass through authorities indexes
authorNick Clemens <nick@bywatersolutions.com>
Tue, 16 Oct 2018 15:09:32 +0000 (15:09 +0000)
committerFridolin Somers <fridolin.somers@biblibre.com>
Wed, 28 Nov 2018 12:57:05 +0000 (13:57 +0100)
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
  <zebra_loglevels>none,fatal,warn,request,info</zebra_loglevels>
 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 <mtompset@hotmail.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 6093e08443b393a3983778b4f92d0df56d419cd9)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit e544a89bcd90e8dcd7fd6bf2da46c8334bfb8595)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

C4/AuthoritiesMarc.pm

index 165ef36..c6e00b3 100644 (file)
@@ -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