use Cwd qw/abs_path/;
use Data::Dump qw(dump);
-our $search_module;
-BEGIN {
- $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";
- }
-}
-
use constant BPC_FTYPE_DIR => 5;
use constant EST_CHUNK => 4096;
my $offset = 0;
my $added = 0;
- my $search = $search_module->new( $index_node_url );
+ my $search = BackupPC::Search->search_module;
my $results = 0;
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;
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 } );
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
);
use strict;
use Search::Estraier 0.04;
+use Data::Dump qw(dump);
my $debug = $ENV{DEBUG} || 0;
sub new {
- my ( $class, $index_node_url ) = @_;
+ my $class = shift @_;
+ my %Conf = @_;
+
+ my $index_node_url = $Conf{HyperEstraierIndex} || die "no HyperEstraierIndex in config ",dump(%Conf);
warn "# using $index_node_url";