From 0881034329a063a33be1b9716fce6bf3f4522e45 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 31 Oct 2019 14:34:53 +0000 Subject: [PATCH] Bug 23719: (follow-up) Add warn when passed invalid search field in marclist --- Koha/SearchEngine/Elasticsearch/QueryBuilder.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm index 5fbd283d3a..ddcc6fcb07 100644 --- a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm +++ b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm @@ -495,6 +495,7 @@ sub build_authorities_query_compat { # This turns the old-style many-options argument form into a more # extensible hash form that is understood by L. my @searches; + my $mappings = $self->get_elasticsearch_mappings(); # Convert to lower case $marclist = [map(lc, @{$marclist})]; @@ -503,7 +504,9 @@ sub build_authorities_query_compat { my @indexes; # Make sure everything exists foreach my $m (@$marclist) { + push @indexes, exists $koha_to_index_name->{$m} ? $koha_to_index_name->{$m} : $m; + warn "Unknown search field $m in marclist" unless defined $mappings->{properties}->{data}->{$m}; } for ( my $i = 0 ; $i < @$value ; $i++ ) { next unless $value->[$i]; #clean empty form values, ES doesn't like undefined searches -- 2.11.0