|
Lines 432-437
sub build_authorities_query_compat {
Link Here
|
| 432 |
|
432 |
|
| 433 |
# Convert to lower case |
433 |
# Convert to lower case |
| 434 |
$marclist = [map(lc, @{$marclist})]; |
434 |
$marclist = [map(lc, @{$marclist})]; |
|
|
435 |
$orderby = lc $orderby; |
| 435 |
|
436 |
|
| 436 |
# Make sure everything exists |
437 |
# Make sure everything exists |
| 437 |
foreach my $m (@$marclist) { |
438 |
foreach my $m (@$marclist) { |
|
Lines 454-460
sub build_authorities_query_compat {
Link Here
|
| 454 |
: ( $orderby =~ /^auth/ ) ? 'local-number' |
455 |
: ( $orderby =~ /^auth/ ) ? 'local-number' |
| 455 |
: undef; |
456 |
: undef; |
| 456 |
if ($sort_field) { |
457 |
if ($sort_field) { |
| 457 |
my $sort_order = ( $orderby =~ /Asc$/ ) ? 'asc' : 'desc'; |
458 |
my $sort_order = ( $orderby =~ /asc$/ ) ? 'asc' : 'desc'; |
| 458 |
%sort = ( $sort_field => $sort_order, ); |
459 |
%sort = ( $sort_field => $sort_order, ); |
| 459 |
} |
460 |
} |
| 460 |
my %search = ( |
461 |
my %search = ( |
|
Lines 887-893
operands and double quoted strings.
Link Here
|
| 887 |
|
888 |
|
| 888 |
=cut |
889 |
=cut |
| 889 |
|
890 |
|
| 890 |
my $tokenize_split_re = qr/((?:${field_name_pattern}${multi_field_pattern}:)?"[^"]+"|\s+)/; |
|
|
| 891 |
sub _truncate_terms { |
891 |
sub _truncate_terms { |
| 892 |
my ( $self, $query ) = @_; |
892 |
my ( $self, $query ) = @_; |
| 893 |
|
893 |
|
|
Lines 919-925
sub _split_query {
Link Here
|
| 919 |
|
919 |
|
| 920 |
# '"donald duck" title:"the mouse" and peter" get split into |
920 |
# '"donald duck" title:"the mouse" and peter" get split into |
| 921 |
# ['', '"donald duck"', '', ' ', '', 'title:"the mouse"', '', ' ', 'and', ' ', 'pete'] |
921 |
# ['', '"donald duck"', '', ' ', '', 'title:"the mouse"', '', ' ', 'and', ' ', 'pete'] |
| 922 |
my @tokens = split /((?:[\w\-.]+:)?"[^"]+"|\s+)/, $query; |
922 |
my $tokenize_split_re = qr/((?:${field_name_pattern}${multi_field_pattern}:)?"[^"]+"|\s+)/; |
|
|
923 |
my @tokens = split $tokenize_split_re, $query; |
| 923 |
|
924 |
|
| 924 |
# Filter out empty values |
925 |
# Filter out empty values |
| 925 |
@tokens = grep( /\S/, @tokens ); |
926 |
@tokens = grep( /\S/, @tokens ); |