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

(-)a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm (-9 / +9 lines)
Lines 153-166 sub build_query_compat { Link Here
153
    my $query;
153
    my $query;
154
    my $query_str = '';
154
    my $query_str = '';
155
    my $search_param_query_str = '';
155
    my $search_param_query_str = '';
156
    my $limits = ();
156
    my $limits = $self->_fix_limit_special_cases($orig_limits);
157
    if ( $scan ) {
157
    if ( $scan ) {
158
        ($query, $query_str) = $self->_build_scan_query( $operands, $indexes );
158
        ($query, $query_str) = $self->_build_scan_query( $operands, $indexes );
159
        $search_param_query_str = $query_str;
159
        $search_param_query_str = $query_str;
160
    } else {
160
    } else {
161
        my @sort_params  = $self->_convert_sort_fields(@$sort_by);
161
        my @sort_params  = $self->_convert_sort_fields(@$sort_by);
162
        my @index_params = $self->_convert_index_fields(@$indexes);
162
        my @index_params = $self->_convert_index_fields(@$indexes);
163
        my $limits       = $self->_fix_limit_special_cases($orig_limits);
164
        if ( $params->{suppress} ) { push @$limits, "suppress:false"; }
163
        if ( $params->{suppress} ) { push @$limits, "suppress:false"; }
165
        # Merge the indexes in with the search terms and the operands so that
164
        # Merge the indexes in with the search terms and the operands so that
166
        # each search thing is a handy unit.
165
        # each search thing is a handy unit.
Lines 796-802 Transform limit strings to Elasticsearch filters Link Here
796
795
797
sub _build_limit_filters {
796
sub _build_limit_filters {
798
    my ( $self, $limits ) = @_;
797
    my ( $self, $limits ) = @_;
799
    my @res;
798
799
    my %facets;
800
    foreach my $s (@$limits) {
800
    foreach my $s (@$limits) {
801
        next if $s eq '';
801
        next if $s eq '';
802
        my ( $field, $term ) = $s =~ /^\s*([\w,-]*?):(.*)/;
802
        my ( $field, $term ) = $s =~ /^\s*([\w,-]*?):(.*)/;
Lines 805-817 sub _build_limit_filters { Link Here
805
        my ($conv) = $self->_convert_index_fields($field);
805
        my ($conv) = $self->_convert_index_fields($field);
806
        my $facet_name = $conv->{field} . '__facet';
806
        my $facet_name = $conv->{field} . '__facet';
807
        $facet_name =~ s/^mc-//;
807
        $facet_name =~ s/^mc-//;
808
        push @res, {
808
        $facets{$facet_name} //= [];
809
            term => {
809
        push @{ $facets{$facet_name} }, $term;
810
                $facet_name => $term
811
            }
812
        };
813
    }
810
    }
814
811
812
    my @res = map {
813
        { terms => { $_ => $facets{$_} } }
814
    } sort keys %facets;
815
815
    return \@res;
816
    return \@res;
816
}
817
}
817
818
818
- 

Return to bug 24555