X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FSearch.pm;h=67e0f9897ac54539b455c8e4fd05ab633f4223dd;hp=8fe2541cccd21f326605d79b70dc4ef598f4edbc;hb=0a2303cdbfbc9ab4b83edf46635a73fb7323b2f2;hpb=be11cc4fd68cb4f99554d1d26233d52a854ed7f4 diff --git a/lib/BackupPC/Search.pm b/lib/BackupPC/Search.pm index 8fe2541..67e0f98 100644 --- a/lib/BackupPC/Search.pm +++ b/lib/BackupPC/Search.pm @@ -1,5 +1,5 @@ #!/usr/bin/perl -package BackupPC::SearchLib; +package BackupPC::Search; use strict; use BackupPC::CGI::Lib qw(:all); @@ -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 );