From 01ab3b00c70f412b95f082f812938f2db35b6cb9 Mon Sep 17 00:00:00 2001 From: Olli-Antti Kivilahti Date: Wed, 18 Mar 2015 13:11:03 +0200 Subject: [PATCH] Bug 11194 - Add a new index for "Edition Statement" of a MARC Record Adds the "Edition Statement" MARC-field as a sortable search index in Koha. This Field is also used by the MARC::Record->edition(). It is mapped to search keyword "edition" and it targets the following MARC-fields: UNIMARC: all 205-subfields concatenated MARC21 : all 250-subfields concatenated NORMARC: all 250-subfields concatenated After applying this patch a full biblio reindexing needs to be done to make old records searchable. New Biblios, and Biblios that are part of some operations (checkin/out/hold/...), are searchable. These generate good test data to test this feature without fully reindexing the search index. TEST PLAN: 1. Find a record with some data in the "Edition Statement" -field. 2. Modify that Record and reindex it. 3. Search with the keyword "edition=''" where is the stuff you wrote in the MARC-field. 4. Observe the found record. --- C4/Search.pm | 1 + Koha/QueryParser/Driver/PQF.pm | 1 + etc/zebradb/ccl.properties | 3 +++ .../marc21/biblios/biblio-koha-indexdefs.xml | 6 ++++++ .../marc21/biblios/biblio-zebra-indexdefs.xsl | 13 +++++++++++++ .../normarc/biblios/biblio-koha-indexdefs.xml | 6 ++++++ .../normarc/biblios/biblio-zebra-indexdefs.xsl | 13 +++++++++++++ .../unimarc/biblios/biblio-koha-indexdefs.xml | 3 +++ .../unimarc/biblios/biblio-zebra-indexdefs.xsl | 2 +- 9 files changed, 47 insertions(+), 1 deletion(-) diff --git a/C4/Search.pm b/C4/Search.pm index f93dd15..fbfafb8 100644 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -1135,6 +1135,7 @@ sub getIndexes{ 'Dissertation-information', 'EAN', 'extent', + 'Edition', 'fic', 'fiction', 'Form-subdivision', diff --git a/Koha/QueryParser/Driver/PQF.pm b/Koha/QueryParser/Driver/PQF.pm index 8181cd3..4ea5277 100644 --- a/Koha/QueryParser/Driver/PQF.pm +++ b/Koha/QueryParser/Driver/PQF.pm @@ -679,6 +679,7 @@ sub TEST_SETUP { $self->add_bib1_field_map('author' => 'personal' => 'biblioserver' => { '1' => '1004' } ); $self->add_bib1_field_map('author' => 'corporate' => 'biblioserver' => { '1' => '1005' } ); $self->add_search_field_alias( 'author' => 'corporate' => 'cpn' ); + $self->add_bib1_field_map('keyword' => 'Edition' => 'biblioserver' => { '1' => '9016' } ); $self->add_bib1_field_map('author' => 'conference' => 'biblioserver' => { '1' => '1006' } ); $self->add_search_field_alias( 'author' => 'conference' => 'cfn' ); $self->add_bib1_field_map('keyword' => 'local-classification' => 'biblioserver' => { '1' => '20' } ); diff --git a/etc/zebradb/ccl.properties b/etc/zebradb/ccl.properties index 99e3498..c6d3a4d 100644 --- a/etc/zebradb/ccl.properties +++ b/etc/zebradb/ccl.properties @@ -365,6 +365,9 @@ Dissertation-information 1=1056 EAN 1=1214 ean EAN +#Edition Statement +Edition 1=1223 + #Identifier-- 1013 Used in full-text searching #authority/format to indicate to the target # system the format of the diff --git a/etc/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml b/etc/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml index 8ad9db1..2ceead0 100644 --- a/etc/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml +++ b/etc/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml @@ -412,6 +412,12 @@ Title-other-variant:w Related-periodical:w + + + Edition:w + Edition:p + Edition:s + pl:w diff --git a/etc/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl b/etc/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl index a0f68f1..151f38d 100644 --- a/etc/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl +++ b/etc/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl @@ -1839,6 +1839,19 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml) + + + + + + + + + + + + + diff --git a/etc/zebradb/marc_defs/normarc/biblios/biblio-koha-indexdefs.xml b/etc/zebradb/marc_defs/normarc/biblios/biblio-koha-indexdefs.xml index 0918f2a..628c805 100644 --- a/etc/zebradb/marc_defs/normarc/biblios/biblio-koha-indexdefs.xml +++ b/etc/zebradb/marc_defs/normarc/biblios/biblio-koha-indexdefs.xml @@ -296,6 +296,12 @@ Title-expanded:w Title-former:w + + + Edition:w + Edition:p + Edition:s + pl:w diff --git a/etc/zebradb/marc_defs/normarc/biblios/biblio-zebra-indexdefs.xsl b/etc/zebradb/marc_defs/normarc/biblios/biblio-zebra-indexdefs.xsl index 1eeca69..f3f5625 100644 --- a/etc/zebradb/marc_defs/normarc/biblios/biblio-zebra-indexdefs.xsl +++ b/etc/zebradb/marc_defs/normarc/biblios/biblio-zebra-indexdefs.xsl @@ -1346,6 +1346,19 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml) + + + + + + + + + + + + + diff --git a/etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml b/etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml index 6b5bdae..8fce5df 100644 --- a/etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml +++ b/etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml @@ -467,6 +467,9 @@ Title:w Title:p + Edition:w + Edition:p + Edition:s diff --git a/etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl b/etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl index 9aa1f76..4565b24 100644 --- a/etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl +++ b/etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl @@ -1980,7 +1980,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml) - + -- 1.7.9.5