summaryrefslogtreecommitdiff
path: root/search/bin/build-autocomplete
diff options
context:
space:
mode:
Diffstat (limited to 'search/bin/build-autocomplete')
-rwxr-xr-xsearch/bin/build-autocomplete53
1 files changed, 53 insertions, 0 deletions
diff --git a/search/bin/build-autocomplete b/search/bin/build-autocomplete
new file mode 100755
index 0000000..d9a62fd
--- /dev/null
+++ b/search/bin/build-autocomplete
@@ -0,0 +1,53 @@
+#!/usr/bin/perl
+use lib "../lib";
+use Bucky;
+use Bucky::Search;
+use Data::Dumper;
+use DB_File;
+
+my $file = "auto.db";
+
+my $search = new Bucky::Search;
+
+my $index = $search->index;
+my $auto_index = $search->auto_index_write;
+
+my $partials = {};
+my $partials_with_media = {};
+foreach my $word (keys %$index)
+ {
+ # goatse operator
+ my $count =()= $index->{$word} =~ /,/g;
+
+ next unless $word;
+
+ my $par = '';
+ my @letters = split "", $word;
+ for (my $i = 0; $i < scalar @letters; $i++)
+ {
+ $par .= $letters[$i];
+ if (! exists $partials->{$par} || $partials->{$par}->[0] < $count)
+ {
+ $partials->{$par} = [$count,$word];
+ }
+ }
+ }
+# don't autocomplete if we match a word
+foreach my $word (keys %$index)
+ {
+ $partials->{$word}->[1] = $word
+ }
+
+foreach my $par (sort keys %$partials)
+ {
+ $auto_index->{$par} = $partials->{$par}->[1];
+ }
+$search->auto_index_close;
+
+print "NEW: " ; system("/bin/ls", "-l", "./$file");
+print "OLD: " ; system("/bin/ls", "-l", "../cgi-bin/$file");
+system("/bin/mv", "../cgi-bin/$file", "../cgi-bin/$file.1");
+system("/bin/mv", "./$file", "../cgi-bin/$file");
+
+exit;
+