Bug 15048: Index all possible searched subfields for index-term-genre
authorNick Clemens <nick@bywatersolutions.com>
Thu, 23 Jun 2022 11:40:44 +0000 (11:40 +0000)
committerLucas Gass <lucas@bywatersolutions.com>
Mon, 5 Dec 2022 22:42:23 +0000 (22:42 +0000)
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 57ea65e725f4208274023c4cdc63fd90ab6014ed)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
admin/searchengine/elasticsearch/mappings.yaml
etc/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml
etc/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl

index 188b597..711b309 100644 (file)
@@ -1670,7 +1670,7 @@ biblios:
     label: index-term-genre
     mappings:
       - facet: ''
-        marc_field: 655a
+        marc_field: 655avxyz
         marc_type: marc21
         sort: ~
         suggestible: ''
index 7b18959..9d660b7 100644 (file)
     <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>
index b3222fa..c5a0fed 100644 (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>