From 0ddf876514541e7d412d486f33d7f3ace666efda Mon Sep 17 00:00:00 2001 From: miker Date: Mon, 27 Feb 2006 22:22:59 +0000 Subject: [PATCH] fixing sort on record search git-svn-id: svn://svn.open-ils.org/ILS/trunk@3212 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../OpenILS/Application/Storage/Publisher/metabib.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/metabib.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/metabib.pm index 0846730448..659ed71d5f 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/metabib.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/metabib.pm @@ -1563,7 +1563,7 @@ sub postfilter_Z_search_class_fts { my $relevance = join(' + ', @fts_ranks); $relevance = <<" RANK"; - (SUM( $relevance + (SUM( ($relevance) * CASE WHEN f.value ILIKE ? THEN 1.2 ELSE 1 END -- phrase order * CASE WHEN f.value ILIKE ? THEN 1.5 ELSE 1 END -- first word match * CASE WHEN f.value ~* ? THEN 2 ELSE 1 END -- only word match @@ -1703,6 +1703,12 @@ sub postfilter_Z_search_class_fts { '%'.lc($SQLstring).'%', # phrase order match lc($first_word), # first word match '^\\s*'.lc($REstring).'\\s*/?\s*$', # full exact match + ( !$sort ? + ( '%'.lc($SQLstring).'%', # phrase order match + lc($first_word), # first word match + '^\\s*'.lc($REstring).'\\s*/?\s*$' ) : # full exact match + () + ), @types, @forms ); -- 2.43.2