Hi Jesse:

I've read the response from yourself and others, and I agree with Zeno that it 
would be wise to open a bug on http://bugs.koha-community.org/bugzilla3/.

The reason the keyword searching works is because all text nodes in a MARC 
record are indexed in the "Any" (ie Keyword) index. The 880 field itself gets 
no special handling in the current version of biblio-zebra-indexdefs.xsl, which 
is why searching indexes other than Keyword doesn't work when you're searching 
for Arabic text stored in the 880.

In my opinion, an elegant solution could theoretically be achieved by something 
like the following:

<xsl:template match="marc:datafield[@tag='880']">
        <xsl:variable name="linkage" 
select="substring(marc:subfield[@code='6']",1,3)"/><!-- linkage might contain 
something like 245 or 260 or 100 -->
        <xsl:call-template name="$linkage" />
</xsl:template> 

However, we don't current use named templates in biblio-zebra-indexdefs.xsl, so 
that's not possible at the moment. The above is just a hypothetical suggestion 
that would be easier to maintain and extend.

Glancing at http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=14217, you 
might try something like the following in biblio-koha-indexdefs.xml in Koha 
3.22:

  <index_subfields tag="880" subfields="a" 
condition="substring(marc:subfield[@code='6']",1,3) = 245">
    <target_index>Title-cover:w</target_index>
    <target_index>Title-cover:p</target_index>
    <target_index>Title-cover:s</target_index>
    <target_index>Title:w</target_index>
    <target_index>Title:p</target_index>
    <target_index>Title:s</target_index>
  </index_subfields>

Unfortunately, this convention requires you to make a block for every index 
linkage you need. That is, you'll need to do the same for 245, 260, 100, etc. 
It'll also be more difficult to maintain in the long-run, so it would be wise 
to locate the 880 near its linked field in the biblio-koha-indexdefs.xml file, 
so as to prevent deviations between how the fields are indexed.

Of course, since you're probably only trying to provide access to a handful of 
commonly used fields, this shouldn't be too laborious of a process.

It is possible to fix your situation one way or another, Jesse. XSLT is 
powerful and DOM indexing is quite flexible as a result.

David Cook
Systems Librarian
Prosentient Systems
72/330 Wattle St, Ultimo, NSW 2007


> -----Original Message-----
> Date: Thu, 12 Nov 2015 16:05:48 +0100
> From: Tajoli Zeno <z.taj...@cineca.it>
> To: Jesse Lambertson <jlambert...@sqcc.org>
> Cc: "koha@lists.katipo.co.nz" <koha@lists.katipo.co.nz>
> Subject: Re: [Koha] Searching in Arabic
> Message-ID: <5644aacc.5020...@cineca.it>
> Content-Type: text/plain; charset=utf-8; format=flowed
> 
> Hi Jesse,
> 
> 
> Il 12/11/2015 15:16, Jesse Lambertson ha scritto:
> > I think this is because 880 is not in the default indexing list.
> > It seems to me that associated linked 880 fields for title (245), author(
> > 100 and 700) as well as series (490 and 830) should return results searched
> > in Arabic as long as we add 880 to the list.
> >
> > Am I incorrect in that assumption?
> 
> No, sorry.
> You assumption is correct.
> You need to change the default indexing setup to index your 880 that are
> probably like:
> 880 10$6245-01/(3/r$a[Arabic chars]
> 
> I suggest you to open a bug here:
> http://bugs.koha-community.org/bugzilla3/
> with description of the problem and 10-20 records from your catalogue to
> do test.
> 
> Do you want to try to fix your self ?
> Well, you need to understand how indexing works with Zebra.
> 
> Start on chapter 13 of the manual:
> http://translate.koha-community.org/manual/3.20/en/searching.html
> 
> Read the basic on Zebra documentation:
> http://www.indexdata.com/zebra/doc/record-model-domxml.html
> (Tip: configuration language of the files is XSLT, so you need to learn
> a basic of it).
> 
> The 3 basic files are:
> etc/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml
> etc/zebradb/xsl/koha-indexdefs-to-zebra.xsl
> etc/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl
> 
> The real working file is biblio-zebra-indexdefs.xsl
> In its head you can read:
> <!--
> This file has been automatically generated from a Koha index definition
> file with the stylesheet koha-indexdefs-to-zebra.xsl. Do not manually
> edit this file,as it may be overwritten. To regenerate, edit the
> appropriate Koha index definition file (probably something like
> {biblio,authority}-koha-indexdefs.xml) and run: `xsltproc
> koha-indexdefs-to-zebra.xsl {biblio,authority}-koha-indexdefs.xml >
> {biblio,authority}-zebra-indexdefs.xsl` (substituting the appropriate
> file names).
> -->
> 
> You probaly need to backport this fix from master to 3.20:
> http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=14217
> 
> and insert many condition in biblio-koha-indexdefs.xml about 880 with
> specific values in $6
> 
> Not an easy work.
> 
> Bye
> Zeno Tajoli
> 
> 
> 
> 
> 
> --
> Zeno Tajoli
> /Dipartimento Sviluppi Innovativi/ - Automazione Biblioteche
> Email: z.taj...@cineca.it Fax: 051/6132198
> *CINECA* Consorzio Interuniversitario - Sede operativa di Segrate (MI)
> 
> 



_______________________________________________
Koha mailing list  http://koha-community.org
Koha@lists.katipo.co.nz
https://lists.katipo.co.nz/mailman/listinfo/koha

Reply via email to