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

(-)a/C4/Search.pm (-1 / +3 lines)
Lines 680-685 sub _get_facets_data_from_record { Link Here
680
                next if $field->indicator(1) eq 'z';
680
                next if $field->indicator(1) eq 'z';
681
681
682
                my $data = $field->as_string( $subfield_letters, $facet->{ sep } );
682
                my $data = $field->as_string( $subfield_letters, $facet->{ sep } );
683
                $data =~ s/\s*(?<![A-Z])[.\-,;]*\s*$//;
683
684
684
                unless ( grep { $_ eq $data } @used_datas ) {
685
                unless ( grep { $_ eq $data } @used_datas ) {
685
                    push @used_datas, $data;
686
                    push @used_datas, $data;
Lines 778-785 sub _get_facet_from_result_set { Link Here
778
    my $facets = {};
779
    my $facets = {};
779
    foreach my $term ( @terms ) {
780
    foreach my $term ( @terms ) {
780
        my $facet_value = $term->textContent;
781
        my $facet_value = $term->textContent;
782
        $facet_value =~ s/\s*(?<![A-Z])[.\-,;]*\s*$//;
781
        $facet_value =~ s/\Q$internal_sep\E/$sep/ if defined $sep;
783
        $facet_value =~ s/\Q$internal_sep\E/$sep/ if defined $sep;
782
        $facets->{ $facet_value } = $term->getAttribute( 'occur' );
784
        $facets->{ $facet_value } =  ( defined $facets->{$facet_value} ) ? $facets->{ $facet_value } + $term->getAttribute( 'occur' ) : $term->getAttribute( 'occur' );
783
    }
785
    }
784
786
785
    return $facets;
787
    return $facets;
(-)a/admin/searchengine/elasticsearch/field_config.yaml (+1 lines)
Lines 55-60 search: Link Here
55
facet:
55
facet:
56
  default:
56
  default:
57
    type: keyword
57
    type: keyword
58
    normalizer: facet_normalizer
58
# Suggestible
59
# Suggestible
59
suggestible:
60
suggestible:
60
  default:
61
  default:
(-)a/admin/searchengine/elasticsearch/index_config.yaml (-1 / +6 lines)
Lines 28-33 index: Link Here
28
      nfkc_cf_normalizer:
28
      nfkc_cf_normalizer:
29
        type: custom
29
        type: custom
30
        char_filter: icu_normalizer
30
        char_filter: icu_normalizer
31
      facet_normalizer:
32
        char_filter: facet
31
    char_filter:
33
    char_filter:
32
      # The punctuation filter is used to remove any punctuation chars in fields that don't use icu_tokenizer.
34
      # The punctuation filter is used to remove any punctuation chars in fields that don't use icu_tokenizer.
33
      punctuation:
35
      punctuation:
Lines 35-38 index: Link Here
35
        # The pattern contains all ASCII punctuation characters.
37
        # The pattern contains all ASCII punctuation characters.
36
        pattern: '([\x00-\x1F,\x21-\x2F,\x3A-\x40,\x5B-\x60,\x7B-\x89,\x8B,\x8D,\x8F,\x90-\x99,\x9B,\x9D,\xA0-\xBF,\xD7,\xF7])'
38
        pattern: '([\x00-\x1F,\x21-\x2F,\x3A-\x40,\x5B-\x60,\x7B-\x89,\x8B,\x8D,\x8F,\x90-\x99,\x9B,\x9D,\xA0-\xBF,\xD7,\xF7])'
37
        replacement: ''
39
        replacement: ''
40
      facet:
41
        type: pattern_replace
42
        pattern: '\s*(?<![A-Z])[.\-,;]*\s*$'
43
        replacement: ''
38
index.mapping.total_fields.limit: 10000
44
index.mapping.total_fields.limit: 10000
39
- 

Return to bug 17661