Bug 15048: Index all possible searched subfields for index-term-genre

Currently we only index a - but we can setup the system such that avxyz are searched

To test:
 1 - define both a 655$a *and* 655$x value in a bib, save, reindex
 2 - Set system preferences:
      TraceSubjectSubdivisions: Include
      TraceCompleteSubfields: Force
 3 - View the record edited above in the opac
 4 - Click on the subject heading
 5 - No results found
 6 - Copy zebra files:
  sudo cp ./etc/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml \
  /etc/koha/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml
  sudo cp etc/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl \
  /etc/koha/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl
 7 - restart all and reindex
 8 - Click on the subject heading in OPAC
 9 - Sucess!
10 - Repeat with other fields (vyz)
11 - Repeat under ES, reindexing and resetting mappings

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 57ea65e725)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Nick Clemens 2022-06-23 11:40:44 +00:00 committed by Lucas Gass
parent 7a33e61858
commit ee55ebf4dd
3 changed files with 3 additions and 3 deletions

View file

@ -1670,7 +1670,7 @@ biblios:
label: index-term-genre
mappings:
- facet: ''
marc_field: 655a
marc_field: 655avxyz
marc_type: marc21
sort: ~
suggestible: ''

View file

@ -789,7 +789,7 @@
<target_index>Subject:p</target_index>
</index_data_field>
<!--melm 655$a Index-term-genre -->
<index_subfields tag="655" subfields="a">
<index_subfields tag="655" subfields="axvyz">
<target_index>Index-term-genre:w</target_index>
<target_index>Index-term-genre:p</target_index>
<target_index>Subject:w</target_index>

View file

@ -722,7 +722,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
</xslo:template>
<xslo:template mode="index_subfields" match="marc:datafield[@tag='655']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
<xslo:if test="contains('axvyz', @code)">
<z:index name="Index-term-genre:w Index-term-genre:p Subject:w Subject:p">
<xslo:value-of select="."/>
</z:index>