Bug 39287

Summary: Improve "Show volume" search with a more specialized search index
Product: Koha Reporter: Katrin Fischer <katrin.fischer>
Component: CatalogingAssignee: Jan Kissig <bibliothek>
Status: Needs Signoff --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: anke.bruns, bibliothek, m.de.rooy, michaela.sieber
Version: Main   
Hardware: All   
OS: All   
GIT URL: Change sponsored?: ---
Patch complexity: --- Documentation contact:
Documentation submission: Text to go in the release notes:
Version(s) released in:
Circulation function:
Attachments: Bug 39287: Improve "Show volume" search with a more specialized search index
Record with volumes, predeccessor and successor

Description Katrin Fischer 2025-03-10 12:55:22 UTC
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.
Comment 1 Jan Kissig 2025-05-23 12:24:36 UTC
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
Comment 2 Jan Kissig 2025-05-23 12:27:25 UTC
Created attachment 182766 [details]
Record with volumes, predeccessor and successor