#!/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;