X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FSearch.pm;h=41f4e764f75b81169e3d7b2d33181e3e4f00d5f1;hp=8fe2541cccd21f326605d79b70dc4ef598f4edbc;hb=d060aa5c2807ff541ac5c83eacfed101ed82c391;hpb=be11cc4fd68cb4f99554d1d26233d52a854ed7f4 diff --git a/lib/BackupPC/Search.pm b/lib/BackupPC/Search.pm index 8fe2541..41f4e76 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,26 @@ my $pager_pages = 10; my $dsn = $Conf{SearchDSN}; my $db_user = $Conf{SearchUser} || ''; -my $hest_node_url = $Conf{HyperEstraierIndex}; +our $search_module; -my $dbh; +sub search_module { + + $search_module = "BackupPC::Search::Estraier"; + $search_module = "BackupPC::Search::KinoSearch" if $ENV{KINO}; + eval "use $search_module"; + if ( $@ ) { + warn "ERROR: $search_module: $!"; + } else { + warn "# using $search_module for full-text search"; + } + my $bpc = BackupPC::Lib->new || die; + my %Conf = $bpc->Conf(); + return $search_module->new( %Conf ); +} + +my $dbh; sub get_dbh { $dbh ||= DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } ); @@ -262,7 +277,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 );