X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=bin%2FBackupPC_updatedb;h=9627a2bd5c56d390eab31fb93a889138a1f6b956;hp=9315026e413c7738e9b79216a7769ee711dce0fb;hb=d060aa5c2807ff541ac5c83eacfed101ed82c391;hpb=d44122e00f7b7b95696a872c23b985b82ebb34bb diff --git a/bin/BackupPC_updatedb b/bin/BackupPC_updatedb index 9315026..9627a2b 100755 --- a/bin/BackupPC_updatedb +++ b/bin/BackupPC_updatedb @@ -11,7 +11,7 @@ use Getopt::Std; use Time::HiRes qw/time/; use File::Pid; use POSIX qw/strftime/; -use BackupPC::SearchLib; +use BackupPC::Search; use Cwd qw/abs_path/; use Data::Dump qw(dump); @@ -106,37 +106,20 @@ sub curr_time { return strftime($t_fmt,localtime()); } -my $hest_node; - sub hest_update { my ($host_id, $share_id, $num) = @_; my $skip_check = $opt{j} && print STDERR "Skipping check for existing files -- this should be used only with initital import\n"; - unless ($index_node_url && $index_node_url =~ m#^http://#) { - print STDERR "HyperEstraier support not enabled or index node invalid\n" if ($debug); - $index_node_url = 0; - return; - } - - print curr_time," updating Hyper Estraier:"; + print curr_time," updating fulltext:"; my $t = time(); my $offset = 0; my $added = 0; - if ($index_node_url) { - print " opening index $index_node_url"; - $hest_node ||= Search::Estraier::Node->new( - url => $index_node_url, - user => 'admin', - passwd => 'admin', - croak_on_error => 1, - ); - print " via node URL"; - } + my $search = BackupPC::Search->search_module; my $results = 0; @@ -196,37 +179,8 @@ sub hest_update { } while (my $row = $sth->fetchrow_hashref()) { - - my $uri = $row->{hname} . ':' . $row->{sname} . '#' . $row->{backupnum} . ' ' . $row->{filepath}; - if (! $skip_check && $hest_node) { - my $id = $hest_node->uri_to_id($uri); - next if ($id && $id == -1); - } - - # create a document object - my $doc = Search::Estraier::Document->new; - - # add attributes to the document object - $doc->add_attr('@uri', $uri); - - foreach my $c (@{ $sth->{NAME} }) { - print STDERR "attr $c = $row->{$c}\n" if ($debug > 2); - $doc->add_attr($c, $row->{$c}) if (defined($row->{$c})); - } - - #$doc->add_attr('@cdate', fmt_date($row->{'date'})); - - # add the body text to the document object - my $path = $row->{'filepath'}; - $doc->add_text($path); - $path =~ s/(.)/$1 /g; - $doc->add_hidden_text($path); - - print STDERR $doc->dump_draft,"\n" if ($debug > 1); - - # register the document object to the database - $hest_node->put_doc($doc) if ($hest_node); - + next if $search->exists( $row ); + $search->add_doc( $row ); $added++; } @@ -541,7 +495,6 @@ foreach my $host_key (@hosts) { $host_nr++; # get backups for a host my @backups = $bpc->BackupInfoRead($hostname); -warn "XXXX ",dump(@backups); my $incs = scalar @backups; my $host_header = sprintf("host %s [%d/%d]: %d increments\n",