[Koha-bugs] [Bug 33277] Correctly handle linking subfields with no defined thesaurus

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Thu Mar 23 12:13:09 CET 2023


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33277

--- Comment #26 from Nick Clemens <nick at bywatersolutions.com> ---
(In reply to Janusz Kaczmarek from comment #25)
> Nick, I have looked into the corrected version. I see one problem: with
> Zebra, for:
> 
> 655 7 $a Literatura angielska $2 DBN
> 
> you search first for: "Literatura angielska + DBN" and, since there is no
> 040 $f, there is the second query for: "Literatura angielska + undefined'

The second query passes "notdefined" - not undef 

> But having two auth records:
> 
> 00116nz  a2200049n  4500
> 008 230210 n anznnbabn           a ana     d
> 155    $a Literatura angielska

This is stored as thesaurus "notdefined"
> 
> 00116nz  a2200049n  4500
> 008 230210 n an|nnbabn           a ana     d
> 155    $a Literatura angielska

This is stored as thesaurus "notspecified"

> 
> you will get both as response, while only one of them is appropriate (the
> first one) [note 008/11].

Here is what the searches look like in Zebra

11:09:06-23/03 zebrasrv(1) [request] Search authorities OK 0 1 1+0 RPN @attrset
Bib-1 @or @attr 1=Local-Number @attr 4=109 @attr 7=1 0 @and @and @attr 5=100
@attr 1=authtype GENRE/FORM @attr 6=3 @attr 5=100 @attr 4=1 @attr
1=Match-heading "Literatura angielska" @attr 5=100 @attr 4=1 @attr
1=Subject-heading-thesaurus DBN
11:09:06-23/03 zebrasrv(1) [request] Search authorities OK 1 1 1+0 RPN @attrset
Bib-1 @or @attr 1=Local-Number @attr 4=109 @attr 7=1 0 @and @and @attr 5=100
@attr 1=authtype GENRE/FORM @attr 6=3 @attr 5=100 @attr 4=1 @attr
1=Match-heading "Literatura angielska" @attr 5=100 @attr 4=1 @attr
1=Subject-heading-thesaurus notdefined

It should only return the second

> 
> Why not to index, in Zebra, directly 008/11 and 040 $f into the same index,
> without the 'index_subject_thesaurus' help-template which inserts
> 'undefined' for lacking 040 $f?



> Note that in ES in this case you are adding subject-heading-thesaurus == 'z'
> to the query, not '|'.
> 

In ES we are storing both the code and the 040f, so one with 040f will match on
that - then when searching without the z will match

> 
> Also, it is not clear for me why do you hardcoded subject-heading-thesaurus
> in Koha/SearchEngine/Elasticsearch.pm, instead of putting it in mapping.yaml
> as:

The thesaurus search is used only internally for linking - this should not be
customised or updated by the user. We do the same for 'Match-heading' to ensure
consistent linking

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list