making relevance a simple percentage
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 28 Feb 2006 02:50:55 +0000 (02:50 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 28 Feb 2006 02:50:55 +0000 (02:50 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@3219 dcc99617-32d9-48b4-a31d-7c20da2025e4

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

index 659ed71..86ecad0 100644 (file)
@@ -1481,11 +1481,16 @@ sub postfilter_search_multi_class_fts {
        
        $log->debug("Search yielded ".scalar(@$recs)." results.",DEBUG);
 
+       my $max = 0;
+       for (@$recs) {
+               $max = $$_[2] if ($$_[2] > $max);
+       }
+
        my $count = scalar(@$recs);
        for my $rec (@$recs[$offset .. $offset + $limit - 1]) {
                next unless ($$rec[0]);
                my ($mrid,$rank,$skip) = @$rec;
-               $client->respond( [$mrid, sprintf('%0.3f',$rank), $skip, $count] );
+               $client->respond( [$mrid, sprintf('%0.3f',$rank/$max), $skip, $count] );
        }
        return undef;
 }
@@ -1714,11 +1719,16 @@ sub postfilter_Z_search_class_fts {
        
        $log->debug("Search yielded ".scalar(@$recs)." results.",DEBUG);
 
+       my $max = 0;
+       for (@$recs) {
+               $max = $$_[2] if ($$_[2] > $max);
+       }
+
        my $count = scalar(@$recs);
        for my $rec (@$recs[$offset .. $offset + $limit - 1]) {
                next unless ($rec);
                my ($mrid,$junk,$rank) = @$rec;
-               $client->respond( [$mrid, sprintf('%0.3f',$rank), $count] );
+               $client->respond( [$mrid, sprintf('%0.3f',$rank/$max), $count] );
        }
        return undef;
 }