[Koha-zebra] Koha Zebra Searching Report (from NPL)

Sebastian Hammer quinn at indexdata.com
Thu Mar 23 14:28:42 CET 2006


Mike Taylor wrote:

>>Date: Wed, 22 Mar 2006 22:43:40 -0500
>>From: Sebastian Hammer <quinn at indexdata.com>
>>
>>    
>>
>>>>Can't do XOR today. I suppose it would be a possible new feature,
>>>>but I've frankly never heard of it in an ILS.. can a XOR b be
>>>>mapped to (a OR b) NOT (a AND b) ?  or am I just showing my fading
>>>>math skills to ill effect, here?
>>>>        
>>>>
>>>   
>>>Yep, that's the correct mapping. Voyager's where NPL originally
>>>saw the XOR function.
>>>      
>>>
>>Ok. It can be faked in the front-end then, or implemented deeper in
>>the guts of Zebra.
>>    
>>
>
>... but the real question is, can anyone thing of _any_ use-case for
>this?  I admit I've not tried very hard, but I can't imagine any
>scenario in which I'd say, oh no, I don't want to see records that
>have _both_ those terms!
>
>  
>
>>>I've looked high and low for documentation on the ranking
>>>algorithms in Zebra but haven't found much more than a few
>>>sentences in the official docs and some list messages ...
>>>      
>>>
>> It isn't documented beyond what's in the code, AFAIK.
>>    
>>
>
>Marc might have something.
>
>  
>
>>In fact, to index 245$a, you'd have to write something like
>>	xelm /*/datafield[@tag=245]/subfield[@code=a]     title
>>[...]
>>however, none of these mechanisms allows you to construct phrase
>>indexes that span multiple subfields.. and they don't allow you to
>>do cool stuff like extract a date from the guts of 008...
>>    
>>
>
>Really?  Surely it would be possible to write an XPath expression that
>does this?
>  
>
Not unlikely, but not one that Zebra can grok, AFAIK. It only implements 
a subset of XPATH.

>>Well, in Zebra 1.4, XSLT comes to the rescue, in a way that only
>>XSLT can do it, with lots of angular brackets and much verbosity....
>>    
>>
>
>... which is _way_ easier to write than TCL :-) ...
>  
>
Well, I've found it so. YMMV.

>>for instance, in an XSLT index filter,
>>
>>melm 245$a title:w
>>
>>becomes
>>
>><xsl:template 
>>match="marc:record/marc:datafield[@tag='245']/marc:subfield[@code='a']">
>>  <z:index name="title"type="w">
>>    <xsl:value-of select="."/>
>>  </z:index>
>></xsl:template>
>>
>>Eek.
>>    
>>
>
>I think that "Eek" only scratches the surface, here.  :-)
>
>But: talk about power and generality!
>  
>
Yep.

--Seb

> _/|_	 ___________________________________________________________________
>/o ) \/  Mike Taylor  <mike at miketaylor.org.uk>  http://www.miketaylor.org.uk
>)_v__/\  "Those who mourn for 'USENET like it was' should remember the
>	 original design estimates of maximum traffic volume: two articles
>	 per day" -- Steven Bellovin.
>
>
>  
>

-- 
Sebastian Hammer, Index Data
quinn at indexdata.com   www.indexdata.com
Ph: (603) 209-6853






More information about the Koha-zebra mailing list