Revert "Bug 12478: Display facet terms ordered by number of occurrences"

This reverts commit cd4905c2969b067476881016d0b03271f0bcc7c8.

This commit caused an error in C4::Search::GetFacets when running in
zebra mode.

Conflicts:
	Koha/SearchEngine/Elasticsearch/Search.pm

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
This commit is contained in:
Robin Sheat 2015-10-13 17:21:36 +13:00 committed by Brendan Gallagher
parent adccfdb9f9
commit a792e84719
4 changed files with 24 additions and 22 deletions

View File

@ -641,14 +641,6 @@ sub GetFacets {
$facets = _get_facets_from_records( $rs );
}
# This sorts the facets into alphabetical order
if ($facets && @$facets) {
foreach my $f (@$facets) {
$f->{facets} = [ sort { uc($a->{facet_label_value}) cmp uc($b->{facet_label_value}) } @{ $f->{facets} } ];
}
@$facets = sort {$a->{expand} cmp $b->{expand}} @$facets;
}
return $facets;
}

View File

@ -391,14 +391,13 @@ sub _convert_facets {
# These should correspond to the ES field names, as opposed to the CCL
# things that zebra uses.
# TODO let the library define the order using the interface.
my %type_to_label = (
author => { order => 1, label => 'Authors', },
itype => { order => 2, label => 'ItemTypes', },
location => { order => 3, label => 'Location', },
'su-geo' => { order => 4, label => 'Places', },
se => { order => 5, label => 'Series', },
subject => { order => 6, label => 'Topics', },
author => 'Authors',
location => 'Location',
itype => 'ItemTypes',
se => 'Series',
subject => 'Topics',
'su-geo' => 'Places',
);
# We also have some special cases, e.g. itypes that need to show the
@ -410,7 +409,7 @@ sub _convert_facets {
itype => { map { $_->itemtype => $_->description } @itypes },
location => { map { $_->authorised_value => ( $opac ? ( $_->lib_opac || $_->lib ) : $_->lib ) } @locations },
);
my @facets;
my @res;
$exp_facet //= '';
while ( ( $type, $data ) = each %$es ) {
next if !exists( $type_to_label{$type} );
@ -422,9 +421,8 @@ sub _convert_facets {
expand => $type,
expandable => ( $type ne $exp_facet )
&& ( @{ $data->{terms} } > $limit ),
"type_label_$type_to_label{$type}{label}" => 1,
"type_label_$type_to_label{$type}" => 1,
type_link_value => $type,
order => $type_to_label{$type}{order},
};
$limit = @{ $data->{terms} } if ( $limit > @{ $data->{terms} } );
foreach my $term ( @{ $data->{terms} }[ 0 .. $limit - 1 ] ) {
@ -445,11 +443,9 @@ sub _convert_facets {
type_link_value => $type,
};
}
push @facets, $facet if exists $facet->{facets};
push @res, $facet if exists $facet->{facets};
}
@facets = sort { $a->{order} cmp $b->{order} } @facets;
return \@facets;
return \@res;
}

View File

@ -531,6 +531,12 @@ eval {
);
};
# This sorts the facets into alphabetical order
if ($facets) {
foreach my $f (@$facets) {
$f->{facets} = [ sort { uc($a->{facet_label_value}) cmp uc($b->{facet_label_value}) } @{ $f->{facets} } ];
}
}
if ($@ || $error) {
$template->param(query_error => $error.$@);
output_html_with_http_headers $cgi, $cookie, $template->output;

View File

@ -620,6 +620,14 @@ if ($tag) {
};
}
# This sorts the facets into alphabetical order
if ($facets && @$facets) {
foreach my $f (@$facets) {
$f->{facets} = [ sort { uc($a->{facet_label_value}) cmp uc($b->{facet_label_value}) } @{ $f->{facets} } ];
}
@$facets = sort {$a->{expand} cmp $b->{expand}} @$facets;
}
# use Data::Dumper; print STDERR "-" x 25, "\n", Dumper($results_hashref);
if ($@ || $error) {
$template->param(query_error => $error.$@);