adding sort to unranked searches
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 16 May 2005 17:31:57 +0000 (17:31 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 16 May 2005 17:31:57 +0000 (17:31 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@731 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/metabib.pm

index 59237a4..f7bf0f8 100644 (file)
@@ -194,7 +194,7 @@ sub search_class_fts {
 
        my $rank_calc = ", sum($rank + CASE WHEN f.value ILIKE ? THEN 1 ELSE 0 END)/count(m.source)";
        my $rank_order = "ORDER BY 2 DESC";
-       $rank_calc = ',sum(1 + CASE WHEN f.value ILIKE ? THEN 1 ELSE 0 END)' if ($self->api_name =~ /unordered/o);
+       $rank_calc = ',sum(CASE WHEN f.value ILIKE ? THEN 1 ELSE 0 END)/count(f.id)' if ($self->api_name =~ /unordered/o);
        $rank_order = '' if ($self->api_name =~ /unordered/o);
 
        my $select = <<"        SQL";
@@ -211,7 +211,7 @@ sub search_class_fts {
                        $has_copies
                        $copies_visible
                  GROUP BY m.metarecord $visible_count_test
-                 $rank_order
+                 ORDER BY 2 DESC
                  $limit_clause $offset_clause
        SQL