From b974a6d5bc4b7c674f37ded6cdaabfd1c9b71e43 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 Signed-off-by: Martin Renvoize --- 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.41.0