[Koha] Searching in Arabic

David Cook dcook at prosentient.com.au
Fri Nov 13 11:44:49 NZDT 2015


Just fixing the subject line to aid people in discovering my response...

See my real reply below.

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


> -----Original Message-----
> From: David Cook [mailto:dcook at prosentient.com.au]
> Sent: Friday, 13 November 2015 9:44 AM
> To: 'koha at lists.katipo.co.nz' <koha at lists.katipo.co.nz>
> Cc: 'Tajoli Zeno' <z.tajoli at cineca.it>; 'jlambertson at sqcc.org'
> <jlambertson at sqcc.org>
> Subject: RE: Koha Digest, Vol 121, Issue 18
> 
> 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.tajoli at cineca.it>
> > To: Jesse Lambertson <jlambertson at sqcc.org>
> > Cc: "koha at lists.katipo.co.nz" <koha at lists.katipo.co.nz>
> > Subject: Re: [Koha] Searching in Arabic
> > Message-ID: <5644AACC.5020607 at 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.tajoli at cineca.it Fax: 051/6132198
> > *CINECA* Consorzio Interuniversitario - Sede operativa di Segrate (MI)
> >
> >





More information about the Koha mailing list