Currently the rcn index used to search for volumes contains all $w subfields from 7xx and 8xx linking fields. In some cases this is too broad, even tho we are additionally limiting to monographs. Example: Search volumes will also find - records with a 775$w - other edition - records with a matching 780/785$w - preceeding or succeeding ... A specific index for searching volumes (rcn-volumes) should contain: - 773$w (we still need to limit to monographic, because these could also be analytcal links) - 800$w - 810$w - 811$w - 830$w Once the index is defined we can update the XSLT and the method for determining if the "Show volumes" link should be shown to use it and have a correct result list.
Created attachment 182765 [details] [review] Bug 39287: Improve "Show volume" search with a more specialized search index The former implementation of "show volume" is relying on an index called rcn which is fed with every 7xx$w and 8xx$w subfield and therefore also shows predecessors and successors to the title. This patch adds a new index only consisting of 773, 800, 810, 811 and 830 $w subfields called rcn-volumes. This index is then used to display the "Show volumes" button and used to limit the results to volumes only. Test plan: 0) set system preference UseControlNumber to Use a) import bug_39287.xml from the attachements f.e. via More -> Cataloging -> Stage records for import Format is MARCXML b) After import search for "main" and open the record with "Main title" c) Click on Show volumes d) recognize search string is "rcn:cnmain NOT (bib-level:a OR bib-level:b)" and 4 results are found e) apply patch f) copy the necessary files to the zebra dirctory sudo cp -i etc/zebradb/biblios/etc/bib1.att /etc/koha/zebradb/biblios/etc/bib1.att sudo cp -i etc/zebradb/ccl.properties /etc/koha/zebradb/ccl.properties sudo cp -i etc/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl /etc/koha/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl g) restart zebra: sudo koha-zebra --restart kohadev h) rebuild the index: sudo koha-rebuild-zebra -b -f -v kohadev i) restart_all j) redo step b) to d) k) recognize search string is now 'rcn-volumes:cnmain NOT (bib-level:a OR bib-level:b)' and only 2 records (volumes) are found l) sign off
Created attachment 182766 [details] Record with volumes, predeccessor and successor