View | Details | Raw Unified | Return to bug 17170
Collapse All | Expand All

(-)a/C4/Search.pm (-1 / +2 lines)
Lines 21-26 use C4::Biblio qw( TransformMarcToKoha GetMarcFromKohaField GetFrameworkCode Get Link Here
21
use C4::Koha qw( getFacets GetVariationsOfISBN GetNormalizedUPC GetNormalizedEAN GetNormalizedOCLCNumber GetNormalizedISBN getitemtypeimagelocation );
21
use C4::Koha qw( getFacets GetVariationsOfISBN GetNormalizedUPC GetNormalizedEAN GetNormalizedOCLCNumber GetNormalizedISBN getitemtypeimagelocation );
22
use Koha::DateUtils;
22
use Koha::DateUtils;
23
use Koha::Libraries;
23
use Koha::Libraries;
24
use Koha::SearchEngine::QueryBuilder;
24
use Lingua::Stem;
25
use Lingua::Stem;
25
use XML::Simple;
26
use XML::Simple;
26
use C4::XSLT qw( XSLTParse4Display );
27
use C4::XSLT qw( XSLTParse4Display );
Lines 33-38 use Koha::Logger; Link Here
33
use Koha::Patrons;
34
use Koha::Patrons;
34
use Koha::Recalls;
35
use Koha::Recalls;
35
use Koha::RecordProcessor;
36
use Koha::RecordProcessor;
37
use Koha::SearchFilters;
36
use URI::Escape;
38
use URI::Escape;
37
use Business::ISBN;
39
use Business::ISBN;
38
use MARC::Record;
40
use MARC::Record;
Lines 1538-1544 sub buildQuery { Link Here
1538
    }
1540
    }
1539
    Koha::Logger->get->debug("QUERY BEFORE LIMITS: >$query<");
1541
    Koha::Logger->get->debug("QUERY BEFORE LIMITS: >$query<");
1540
1542
1541
1542
    # Normalize the query and limit strings
1543
    # Normalize the query and limit strings
1543
    # This is flawed , means we can't search anything with : in it
1544
    # This is flawed , means we can't search anything with : in it
1544
    # if user wants to do ccl or cql, start the query with that
1545
    # if user wants to do ccl or cql, start the query with that
(-)a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm (-2 / +10 lines)
Lines 805-811 sub _convert_index_strings_freeform { Link Here
805
    # Lower case field names
805
    # Lower case field names
806
    $search =~ s/($field_name_pattern)(?:,[\w-]*)?($multi_field_pattern):/\L$1\E$2:/og;
806
    $search =~ s/($field_name_pattern)(?:,[\w-]*)?($multi_field_pattern):/\L$1\E$2:/og;
807
    # Resolve possible field aliases
807
    # Resolve possible field aliases
808
    $search =~ s/($field_name_pattern)($multi_field_pattern):/(exists $index_field_convert{$1} ? $index_field_convert{$1} : $1)."$2:"/oge;
808
    $search =~ s/($field_name_pattern)($multi_field_pattern):/(exists $index_field_convert{$1} ? $index_field_convert{$1} : $1).($1 eq 'kw' ? "$2" : "$2:")/oge;
809
    return $search;
809
    return $search;
810
}
810
}
811
811
Lines 1068-1073 sub _fix_limit_special_cases { Link Here
1068
            next unless defined($start) && defined($end);
1068
            next unless defined($start) && defined($end);
1069
            push @new_lim, "date-of-publication:[$start TO $end]";
1069
            push @new_lim, "date-of-publication:[$start TO $end]";
1070
        }
1070
        }
1071
        elsif( $l =~ /^search_filter:/ ){
1072
            my ($filter_id) = ( $l =~ /^search_filter:(.*)$/ );
1073
            my $search_filter = Koha::SearchFilters->find( $filter_id );
1074
            next unless $search_filter;
1075
            my $expanded = $search_filter->expand_filter;
1076
            foreach my $e ( @{$self->_fix_limit_special_cases($expanded)} ) {
1077
                push @new_lim, $self->clean_search_term( $e );
1078
            }
1079
        }
1071
        elsif ( $l =~ /^yr,st-numeric[=:]/ ) {
1080
        elsif ( $l =~ /^yr,st-numeric[=:]/ ) {
1072
            my ($date) = ( $l =~ /^yr,st-numeric[=:](.*)$/ );
1081
            my ($date) = ( $l =~ /^yr,st-numeric[=:](.*)$/ );
1073
            next unless defined($date);
1082
            next unless defined($date);
1074
- 

Return to bug 17170