[Koha-bugs] [Bug 7417] Include alternate forms from authorities in bibliographic searches
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Fri Sep 7 16:31:08 CEST 2012
http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=7417
--- Comment #44 from Jared Camins-Esakov <jcamins at cpbibliography.com> ---
(In reply to comment #43)
> UNIMARC QA comment:
> If I'm not mistaking, http://archive.ifla.org/VI/3/p1996-1/uniafull.htm#4--
> says that 4xx are for "see references", it's the same as in marc21
> (http://www.loc.gov/marc/authority/ad4xx.html)
>
> The 2nd digit is not always the same:
> UNIMARC = 420 See Reference Tracing - Family Name
> MARC21 = 420 does not exits
As I understand it (I asked Francois a while ago), ALL 4xx fields work like
this, so it doesn't matter what the second digit is.
> The code says
> # for each field
> + foreach my $field ( $record->fields() ) {
>
> # if there is a link to authorities
> + my $authid = $field->subfield('9');
>
> # retrieve the authority
> + my $authority = Koha::Authority->get_from_authid($authid);
>
> # if there are seefrom fields
> + my @seefrom = $auth_marc->field('4..');
>
> # add them in the biblio record
>
> # find the biblio record tag
> + my $tag = substr($field->tag(), 0, 1) .
> substr($authfield->tag(), 1, 2);
> # create a new one, where you'll put datas coming from authorities
> + my $newfield = MARC::Field->new($tag,
> + 'z',
> + $authfield->indicator(2) || ' ',
> + '9' => '1');
> # copy each subfield
> + foreach my $sub ($authfield->subfields()) {
> + my ($code,$val) = @$sub;
> + $newfield->add_subfields( $code => $val );
> + }
>
>
> What I don't understand is the '9' => '1'
> You're connecting all biblios to the #1 authority ? why ?
This is a workaround for a peculiarity in MARC::Record. If you look a bit
further down, you'll see I delete the subfield $9, once I've populated the
other subfields.
>
> Another question = why do you set 1st indicator to 'z' ?
I needed some way to CLEARLY identify the field as not being a real part of the
record. Since ind1=z is not valid in MARC, that seemed like a good way.
>
> Other question = do you have checked performances ? I think that it will be
> a *big* overhead for rebuild_zebra.pl -b -r (ie= rebuilding all the database)
> time rebuild_zebra.pl will give us numbers, that we need to have, at least
> to warn librarians !
I have. That's a good point. The syspref should note it takes twice as long to
rebuild Zebra with this enabled.
> Last question = do you also have checked/tested solr ? I see that you write
> + if ($record_type eq 'biblio' &&
> C4::Context->preference('IncludeSeeFromInSearches')) {
> + my $normalizer = Koha::RecordProcessor->new( { filters =>
> 'EmbedSeeFromHeadings' } );
> + $record = $normalizer->process($record);
> + }
> in Koha/SearchEngine/Solr/Index.pm (asking Claire in // to get her feedback
> on this)
I have not been able to test it. The Solr dependencies do not compile on Debian
(nor, I think, would Solr run on my little laptop). I thought about not
including the Solr bit, since Solr is still experimental, but decided I would
provide it so that the RM could make that decision.
--
You are receiving this mail because:
You are watching all bug changes.
More information about the Koha-bugs
mailing list