Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: Subject searching: msg#00001

Subject: Re: Subject searching
Snodderly, Matthew wrote:
Hi --
I'm in the process of evaluating software for a library that is about
implement an online catalog system for the first time (currently there
are about 3000 records ready to use in MARC format and 2-3 times that
many left to convert.)  I'm hoping to have an initial system up and
running within the next couple weeks..

Emilda would be my first choice at this point, except that the ability
to search by subject is an absolutly non-negotiable requirement.   I saw
a reference somewhere that this would be in version 1.2, but I don't see
the ability in the 1.2a demo -- is there any estimate as to when that
feature will be added? Alternatively, what, and how much effort, would
be involved in hacking in a subject searching feature myself?

Thanks,
Matt

Hello Matt,

As of version 1.1 of Emilda, it is possible to manage and search each field defined in the MARC standard just by adding some few lines to a config. If You are using version 1.1, this would be the MARC_config file, in conjunction with the MARCsyn_config file. If You however are using 1.2-alpha, which is the favourable version for new and testing environments, all these have been combined and moved into MySQL for easier management.

For the sake of ease, I will describe the main steps to take using 1.2-alpha, as this is hopefully the version that You will be using. That said, these steps, excluding the configuration of Zebra, will be possible to do within Emilda by the stable release of Emilda 1.2.

Step 1: Identify which field You would like to use as the subject field. It is of course possible to have numerous fields, however, with the current management layout, it is not possible to simultaneously search many fields, giving just one criteria. The subject "logics" is still in its very early stages in Emilda 1.2 and we have plans to put some more effort in making the system compatible with all the numerous subject fields defined in the MARC standard.

Step 2: Tell Emilda of the field that You want to use as the primary subject field. We have been using field 653 as our primary field to retrieve subjects from records retireved via Z39.50, but this is of course customizeable. If You on the demo site, or possibly on Your own system goto the "Book Edit"-page, You will see a text-area of all subjects added to this record in that field (This text-area has of course not yet been committed into CVS, so You will not see it but it is similar to the one on "Book Add", which You can test e.g. on the Demo site.)

Step 3: Make the field searchable, possibly also editable in the "standard manner". In 1.2-alpha the tool for adding fields into the MARC configuration table has not yet been implemented, so if You in 1.2-alpha want to extend the set of fields, You will have to do it manually in MySQL. By issuing this command You add a new field into the "awareness" of Emilda;

--- START MYSQL ---

INSERT INTO marc_configuration SET marc_field="653", marc_default="Uncontrolled Subject", marc_format="a", marc_identifier="book_unc_subject", marc_display="Uncontrolled Subject", marc_editable=0, marc_searchable=1;


--- END MYSQL ---

This probably needs some clarification. This command will add field 653 into the database, make it searchable but not editable (will explain this below *), give it the identifier book_unc_subject and name it "Uncontrolled Subject".

(*) By editable i mean not showing up in the "editables"-list as all other fields in "Book edit".

Now Emilda per say is ready to search by subject (Uncontrolled Subject has appeared in the drop-down in Q-search), but Zebra is probably not indexed to support searching by this field. So what we need to still do is to reindex the Zebra database with this field added into the register.

Step 4: Go into the zebra folder (where ever You have put it, e.g. /var/www/emilda/zebra/) and open tab/usmarc.abs and add the following lines:

--- START usmarc.abs ---

elm 653                 Uncontrolled-subject           -
elm 653/?               Uncontrolled-subject           !:w
elm 653/?/a             Uncontrolled-subject           !:w,!:p,!:s

--- END usmarc.abs ---

After this, open tab/bib1.att and add the following line:

--- START bib1.att ---

att 1039            Uncontrolled-subject

--- END bib1.att ---

Now field 653 is associated with the use-attribute 1039, and is as such searchable. If You choose to use some other attribute, please remember to change the value in step 6 also.

To finnish off this step, reindex Zebra and start the zebrasrv-process. This is done by the following command:

--- START CMD ---

zebraidx init && zebraidx -g emilda update records && zebraidx commit && zebrasrv

--- END CMD ---

Step 6: We still need to tell Emilda which attribute we associated with field 653. To do this, add the following key-value pair into the $YAZ_attributes array in lib/MARC.inc

--- START PHP ---

"653" => "1=1039 t=3"

--- END PHP ---

Last, we need to give this field a CCL-name, so that the CCL-generator can generate the correct RPN-query. This is done by adding the following key-value pair into the $CCL_names array in lib/MARC.inc

--- START PHP ---

"653" => "subject"

--- END PHP ---

Now we have a working system where it is possible to search for subjects from field 653, or some other field specified. If You want to add more fields, just follow the same procedure. What You however need to bear in mind is that it with the current setup is not possible to manage more than one field with the text-area widget from e.g. "Book Add".

This might on first sight seem a bit complicated, but by the stable release of Emilda 1.2, most of this will be automated. The step that however cannot be automated, at least within the near future, is the Zebra update and reindex process.

I hope this rather lengthly answer at least to some extent tragets Your issue, and answers Your question. If there still is something You wonder, please ask, and I'll try to answer it to my best knowledge.

Regards,



_______________________________________________
Emilda mailing list
Emilda@xxxxxxxxxxxxxxxxxx
http://lists.realnode.com/mailman/listinfo/emilda


--
Christoffer Landtman
Oy Realnode Ab
Partner, Sales
+358 (0)41 510 1073
landtman@xxxxxxxxxxx
www.realnode.fi



<Prev in Thread] Current Thread [Next in Thread>