From 63dd1cdb9d5a132fee453a56f924d3f13a0569d3 Mon Sep 17 00:00:00 2001 From: miker Date: Fri, 23 Jun 2006 20:10:39 +0000 Subject: [PATCH] improving record-only search; fixing default sort direction git-svn-id: svn://svn.open-ils.org/ILS/trunk@4759 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../src/perlmods/OpenILS/Application/Storage/Publisher/metabib.pm | 6 +++--- Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) 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 bfedb17bf7..e6d79bcf0c 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/metabib.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/metabib.pm @@ -1945,18 +1945,18 @@ sub biblio_search_multi_class_fts { my $fts_where = $fts->sql_where_clause; my @fts_ranks = $fts->fts_rank; - my $SQLstring = join('%',map { lc($_) } $fts->words); + my $SQLstring = join('%',map { lc($_) } $fts->words) .'%'; my $REstring = '^' . join('\s+',map { lc($_) } $fts->words) . '\W*$'; my $first_word = lc(($fts->words)[0]).'%'; my $rank = join(' + ', @fts_ranks); my %bonus = (); - $bonus{'keyword'} = [ { "CASE WHEN $search_class.value ILIKE ? THEN 1.2 ELSE 1 END" => $SQLstring } ]; + $bonus{'keyword'} = [ { "CASE WHEN $search_class.value ILIKE ? THEN 10 ELSE 1 END" => $SQLstring } ]; $bonus{'series'} = [ { "CASE WHEN $search_class.value ILIKE ? THEN 1.5 ELSE 1 END" => $first_word }, - { "CASE WHEN $search_class.value ~ ? THEN 200 ELSE 1 END" => $REstring }, + { "CASE WHEN $search_class.value ~ ? THEN 20 ELSE 1 END" => $REstring }, ]; $bonus{'title'} = [ @{ $bonus{'series'} }, @{ $bonus{'keyword'} } ]; diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm b/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm index 71cd05d1a9..8e99bc1a1f 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm @@ -708,7 +708,7 @@ sub opensearch_feed { offset => 0, limit => 5000, ($sort ? ( 'sort' => $sort ) : ()), - ($sortdir ? ( 'sort_dir' => $sortdir ) : ( sort_dir => 'asc' )), + ($sortdir ? ( 'sort_dir' => $sortdir ) : ($sort ? (sort_dir => 'asc') : (sort_dir => 'desc') )), ($lang ? ( 'language' => $lang ) : ()), } )->gather(1); -- 2.11.0