|
Description
Katrin Fischer
2025-03-10 12:55:22 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 Created attachment 182766 [details]
Record with volumes, predeccessor and successor
Mit Zebra funktioniert der Patch, jedoch nicht, wenn die Instanz Elasticsearch nutzt. Created attachment 187584 [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 187588 [details] [review] Test plan part 1: Zebra: 0) start instance with searchengine set to Zebra a) set system preference UseControlNumber to Use b) import bug_39287.xml from the attachements f.e. via More -> Cataloging -> Stage records for import Format is MARCXML c) After Test plan part 2: Elasticsearch 0) start instance with searchengine set to Elasticsearch a) Rebuild Elasticsearch index with --reset parameter to apply new mappings. Redo test plan from part 1 step c) to d) and l) m) sign off Sollten noch weitere Felder außer 773$w und 830$w für Show volumes abgefragt werden? (In reply to Anke Bruns from comment #6) > Sollten noch weitere Felder außer 773$w und 830$w für Show volumes abgefragt > werden? yes, the list of fields is in the first comment: - 773$w (we still need to limit to monographic, because these could also be analytcal links) - 800$w - 810$w - 811$w - 830$w If the index rcn-volumes is used for the linking between parent and child records in multilevel records, why do we need the resp. w subfields of 800 - Series Added Entry - Personal Name (R) Full | Concise 810 - Series Added Entry - Corporate Name (R) Full | Concise 811 - Series Added Entry - Meeting Name (R) Full | Concise (copied from LOC MARC description). Sorry for asking a potentially dumb question :-D The linking between set and volumes is using different fields depending on if the volumes have dependent or independent titles. One uses 773, the other a combination of 8xx and 490. In the latter case the 8xx has the $w subfield we need to find them. So we can leave out 490, but we need all the other fields. I wasn't aware, thanks for clarifying. So 800w, 810w and 811w should be added to the attachment; I'll see to it as soon as I manage to recover my testing environment :-D (In reply to Anke Bruns from comment #10) > I wasn't aware, thanks for clarifying. > > So 800w, 810w and 811w should be added to the attachment; I'll see to it as > soon as I manage to recover my testing environment :-D ... I thought it was only in 830$w that a volume links to the parent record. So the link to the parent can also be in 800$w, 810$w or 811$w? It could be, depending on the the main heading of the linked record is, if I understand correctly. But it could be that in practice it's not used that much. |