If I have those two authority types:
- SUB
- SUB_REGIONAL
If I do a seach on 'SUB', as a result, I get authorities from
SUB _and_ SUBS_REGIONAL.
This patch modify:
- MARC21 authtype index
- Search syntax to search on exact authory type
code match.
On MARC21 install, authorities re-indexing is required.
---
C4/AuthoritiesMarc.pm | 2 +-
.../authorities/authority-zebra-indexdefs.xsl | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm
index a5102a6..58e4d29 100644
--- a/C4/AuthoritiesMarc.pm
+++ b/C4/AuthoritiesMarc.pm
@@ -207,7 +207,7 @@ sub SearchAuthorities {
my @authtypecode;
my @auths=split / /,$authtypecode ;
foreach my $auth (@auths){
- $query .=" \...@attr 1=authtype \...@attr 5=100 ".$auth; ##No
truncation on authtype
+ $query .=" \...@attr 1=authtype \...@attr 4=1 \...@attr 6=3
".$auth; # Exact search
push @authtypecode ,$auth;
$n++;
}
diff --git
a/etc/zebradb/marc_defs/marc21/authorities/authority-zebra-indexdefs.xsl
b/etc/zebradb/marc_defs/marc21/authorities/authority-zebra-indexdefs.xsl
index 4cecf9c..b6b4565 100644
--- a/etc/zebradb/marc_defs/marc21/authorities/authority-zebra-indexdefs.xsl
+++ b/etc/zebradb/marc_defs/marc21/authorities/authority-zebra-indexdefs.xsl
@@ -134,7 +134,7 @@
<xslo:template mode="index_subfields" match="marc:datafie...@tag='942']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="authtype:w">
+ <z:index name="authtype:w authtype:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
--
1.5.5.GIT
_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha.org/mailman/listinfo/koha-patches