Date: Monday February 3, 2003 @ 8:34
Author: matt
Update of /home/cvs/AxKit-XSP-Wiki/lib/AxKit/XSP
In directory ted.sergeant.org:/home/matt/Perl/AxKit-XSP-Wiki/lib/AxKit/XSP
Modified Files:
Wiki.pm
Log Message:
Fix some of the SQL in wiki search
Log:
PR:
Index: Wiki.pm
===================================================================
RCS file: /home/cvs/AxKit-XSP-Wiki/lib/AxKit/XSP/Wiki.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -b -u -r1.15 -r1.16
--- Wiki.pm 2003/02/02 22:44:44 1.15
+++ Wiki.pm 2003/02/03 08:34:34 1.16
@@ -235,8 +235,7 @@
my $sql = "
SELECT Page.name, SUM(ContentIndex.value) AS value
-FROM ContentIndex, Page
-WHERE Page.id = ContentIndex.page_id";
+FROM ContentIndex, Page";
my @fromlist;
@@ -255,8 +254,7 @@
if ($p{normal}) {
foreach my $word ( @{ $p{normal} } ) {
- push @fromlist, "Word AS word$word_from_id";
- $clause .= "AND ContentIndex.word_id LEFT OUTER JOIN
word$word_from_id\.id\n";
+ push @fromlist, "ContentIndex AS ContentIndex$word_from_id LEFT OUTER
+JOIN Word AS word$word_from_id ON ContentIndex$word_from_id.word_id =
+word$word_from_id.id";
$clause .= "AND word$word_from_id\.word = " . $db->quote($word) . "\n";
$word_from_id++;
}
@@ -274,9 +272,10 @@
$sql .= ", " . join(', ', @fromlist);
}
- $sql .= "
+ $sql .= "\nWHERE ContentIndex.page_id = Page.id
$clause
-GROUP BY ContentIndex.page_id";
+GROUP BY ContentIndex.page_id
+ORDER BY SUM(ContentIndex.value) DESC";
warn("About to execute:\n$sql\n");
@@ -295,6 +294,8 @@
my $space = $2;
next unless length($term);
+ $term = lc($term);
+
if ($term =~ s/^\+//) {
$search{required}{$term}++;
warn "Search required: $term\n";
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]