X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2FBackupPC%2FSearch.pm;h=67e0f9897ac54539b455c8e4fd05ab633f4223dd;hb=0a2303cdbfbc9ab4b83edf46635a73fb7323b2f2;hp=742f3f2716af1d030226d030d0792bf372f1f777;hpb=c895c85bd282936cd38d900904bd94734fdc8248;p=BackupPC.git diff --git a/lib/BackupPC/Search.pm b/lib/BackupPC/Search.pm index 742f3f2..67e0f98 100644 --- a/lib/BackupPC/Search.pm +++ b/lib/BackupPC/Search.pm @@ -10,7 +10,7 @@ use vars qw(%In $MyURL); use Time::HiRes qw/time/; use XML::Writer; use IO::File; -use BackupPC::Search::Estraier; +use Data::Dump qw(dump); my $on_page = 100; my $pager_pages = 10; @@ -18,11 +18,23 @@ my $pager_pages = 10; my $dsn = $Conf{SearchDSN}; my $db_user = $Conf{SearchUser} || ''; -my $hest_node_url = $Conf{HyperEstraierIndex}; +sub search_module { -my $dbh; + my $bpc = BackupPC::Lib->new || die; + my %Conf = $bpc->Conf(); + + my $search_module = $Conf{SearchModule} || die "search is disabled"; + eval "use $search_module"; + if ( $@ ) { + warn "ERROR: $search_module: $!"; + } else { + warn "# using $search_module for full-text search"; + } + return $search_module->new( %Conf ); +} +my $dbh; sub get_dbh { $dbh ||= DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } ); @@ -262,7 +274,7 @@ sub getFilesHyperEstraier($) { my $shareid = $param->{'search_share'}; my ($backup_from, $backup_to, $files_from, $files_to) = dates_from_form($param); - return BackupPC::Search::Estraier->new( $hest_node_url )->search( + return search_module->search( $offset, $on_page, $param->{sort}, $q, $shareid, $backup_from, $backup_to, $files_from, $files_to );