Bug 25277: Don't specify a field in query if none passed

== test plan ==
To test:
0 - Have Koha running with ES 6 enabled
1 - Launch the z3950 responder:
    perl misc/z3950_responder.pl --config-dir /kohadevbox/koha/etc/z3950 --debug
2 - Connect using yaz-client:
    yaz-client localhost:2100
2.1 Alternative, if you add the responder as a Z39.50 server in Koha and
  do a catalogue Z39.50 search. Don't forget to search in the keywords
  field. Not the title field.
3 - base biblios
4 - find bruce
5 - No results
6 - Stop the responder
7 - Apply patch
8 - Repeat
9 - This time you get results

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Nick Clemens 2020-04-24 13:34:31 +00:00 committed by Martin Renvoize
parent 0a24e721dd
commit 68bcc31dfc
No known key found for this signature in database
GPG Key ID: 422B469130441A0F
2 changed files with 9 additions and 6 deletions

View File

@ -40,7 +40,7 @@ sub to_koha {
my ($self, $mappings) = @_;
my $attrs = $self->{'attributes'};
my $fields = $mappings->{use}{default} // '_all';
my $fields = $mappings->{use}{default};
my $split = 0;
my $prefix = '';
my $suffix = '';
@ -62,7 +62,7 @@ sub to_koha {
}
}
$fields = [$fields] unless ref($fields) eq 'ARRAY';
$fields = [$fields] unless !defined $fields || ref($fields) eq 'ARRAY';
if ($split) {
my @terms;
@ -72,8 +72,12 @@ sub to_koha {
next if (!$word);
$word = $self->escape($word);
my @words;
foreach my $field (@{$fields}) {
push(@words, "$field:($prefix$word$suffix)");
if( $fields ) {
foreach my $field (@{$fields}) {
push(@words, "$field:($prefix$word$suffix)");
}
} else {
push(@words, "($prefix$word$suffix)");
}
push (@terms, join(' OR ', @words));
}
@ -82,6 +86,7 @@ sub to_koha {
my @terms;
$term = $self->escape($term);
return "($prefix$term$suffix)" unless $fields;
foreach my $field (@{$fields}) {
push(@terms, "$field:($prefix$term$suffix)");
}

View File

@ -8,7 +8,6 @@ authorities:
3: Heading
9: LC-card-number
12: Local-number
default: _all
biblios:
# BIB-1 use attributes to index fields
use:
@ -43,4 +42,3 @@ biblios:
1031: itype
1033: Host-Item-Number
1045: control-number
default: _all