From 59ada4dfcb9161c9b0cacea58be661236fbfeee3 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 Signed-off-by: Roman Dolny Signed-off-by: Thomas Klausner --- 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 9696e1457a..32ddb25a62 100644 --- a/Koha/SearchEngine/Elasticsearch/Search.pm +++ b/Koha/SearchEngine/Elasticsearch/Search.pm @@ -254,6 +254,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.39.5