[Koha-patches] [PATCH] Add specific MARC21 tags to Topics (su-to) facet

Frederic Demians frederic at tamil.fr
Sat May 31 08:25:53 CEST 2008


>>> In fact, I believe the facets should be stored in the database,
>>> the object was never intended to be stored hard-coded in the DB,
>>> but was supposed to be moved into a table that would allow people
>>> to add new facets on the fly, etc.
>> What do you thing of a syspref in the meantime? A hash like
>> NoZebraIndexes syspref?
> It could work, but I think it wouldn't be much more difficult to create
> it properly with a table and a management interface ...

Isn't it a bit early? As I understand current facets management in Koha, 
it suffers from limitations:

(1) Facets are generated by scanning a limited portion of a search 
result set.

For example, suppose a search for 'surgery' get a 10,000 biblio records 
resultset. The first result page displays 20 records. On this first 
page, the facets are retrieved from 1 to 20 first records not from the 
entire resultset. Consequences:

    * It's impossible to display facets weight: number of biblio records
      containing facet in the resultset.
    * Facets from 21-10000 records are just ignored. It's not difficult
      to imagine we miss 'some' authors, some subjects, which are more
      important (weight) than those from 1-20 records.

The correct facets behavior is on Worldcat:

    http://www.worldcat.org/search?q=surgery

As you know, a new Zebra feature allow to improve Koha in this area :

    http://tinyurl.com/56lyy2


(2) Facets are extracted from only one MARC field letter

For example, UNIMARC author facet definition (Koha.pm) is:

  link_value  => 'au',
  label_value => 'Authors',
  tags        => [ '700', '701', '702', ],
  subfield    => 'a',

So if you have two distinct authors in two biblio records:

  700 $aWeber$bHenry
  700 $aWeber$Max

You will have just one facet: 'Weber'. You should have two: 'Weber 
Henry' and 'Weber Max'.


(3) Mixed Configurability

You suggest to define facets in a DB table and to add a management 
interface. But facets as defined now in Koha.pm are incomplete (see 2) 
and rely on Zebra configuration files:

    * ccl.properties (contains 'au' or 'su-to')
    * record.abs (which map to MARC data structure)
    * bib1.att.

So for example suppose I want to create a new specific facet: a 'Surgery 
Subject' (surgery-only vocabulary). I will have (in MARC21) to:

   1. add something in ccl.properties: su-sur
   2. add something in record.abs: Subject-surgery pointing to, say, 691 tag
   3. add something in bib1.att: Subject-surgery
   4. define a facet in Koha linked to 'su-sur' (defined in 1) and
      linked to 691 (definied in 2)

Clearly, I must forget something...

Am I correct or just paranoid?
-- 
Frédéric



More information about the Koha-patches mailing list