From b4e024e1cae8c6589ca38ea076abcefa2956418a 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 Signed-off-by: Lucas Gass --- 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 e8e4412b56..8f7ae481b3 100644 --- a/Koha/SearchEngine/Elasticsearch/Search.pm +++ b/Koha/SearchEngine/Elasticsearch/Search.pm @@ -246,6 +246,18 @@ sub search_auth_compat { $result{authtype} = $authtype ? $authtype->authtypetext : $authtypecode; $result{reported_tag} = $reported_tag; + 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