From 18ebcbb347638011db3e784453bd7998fe312d80 Mon Sep 17 00:00:00 2001 From: Aleisha Amohia Date: Tue, 28 Mar 2023 02:10:59 +0000 Subject: [PATCH] Bug 33348: Show authority heading use with Elasticsearch This patch ensures the ShowHeadingUse system preference and feature works as expected when using Elasticsearch as the searchengine. To test, follow the test plan at Bug 29990 Comment 9. Ensure the SearchEngine system preference is set to Elasticsearch. Sponsored-by: Education Services Australia SCIS --- Koha/SearchEngine/Elasticsearch/Search.pm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Koha/SearchEngine/Elasticsearch/Search.pm b/Koha/SearchEngine/Elasticsearch/Search.pm index 94dc3a57ef4..1a433dcdeb3 100644 --- a/Koha/SearchEngine/Elasticsearch/Search.pm +++ b/Koha/SearchEngine/Elasticsearch/Search.pm @@ -248,6 +248,18 @@ sub search_auth_compat { my $subject_heading_thesaurus_conventions = $es_record->{_source}->{'subject-heading-thesaurus-conventions'}[0]; $result{thesaurus} = $subject_heading_thesaurus_conventions; + if ( C4::Context->preference('ShowHeadingUse') ) { + # checking valid heading use + my $f008 = $marc->field('008'); + my $pos14to16 = substr( $f008->data, 14, 3 ); + my $main = substr( $pos14to16, 0, 1 ); + $result{main} = 1 if $main eq 'a'; + my $subject = substr( $pos14to16, 1, 1); + $result{subject} = 1 if $subject eq 'a'; + my $series = substr( $pos14to16, 2, 1 ); + $result{series} = 1 if $series eq 'a'; + } + # Reimplementing BuildSummary is out of scope because it'll be hard $result{summary} = C4::AuthoritiesMarc::BuildSummary( $marc, $result{authid}, -- 2.30.2