use WebPAC::Store 0.03;
use WebPAC::Normalize::XML;
use WebPAC::Output::TT;
-use WebPAC::Output::Estraier 0.08;
+use WebPAC::Output::Estraier '0.10';
use YAML qw/LoadFile/;
use Getopt::Long;
use File::Path;
+use Time::HiRes qw/time/;
=head1 NAME
remove database and Hyper Estraier index before indexing
+=item --one=database_name
+
+reindex just single database
+
=item --config conf/config.yml
path to YAML configuration file
my $clean = 0;
my $config = 'conf/config.yml';
my $debug = 0;
+my $one_db_name;
GetOptions(
"limit=i" => \$limit,
"offset=i" => \$offset,
"clean" => \$clean,
+ "one=s" => \$one_db_name,
"config" => \$config,
"debug" => \$debug,
);
die "no databases in config file!\n" unless ($config->{databases});
my $total_rows = 0;
+my $start_t = time();
while (my ($database, $db_config) = each %{ $config->{databases} }) {
+ next if ($one_db_name && $database !~ m/$one_db_name/i);
+
my $log = _new WebPAC::Common()->_get_logger();
#
my $est_config = $config->{hyperestraier} || $log->logdie("can't find 'hyperestraier' part in confguration");
$est_config->{database} = $database;
$est_config->{clean} = $clean;
+ $est_config->{label} = $db_config->{name};
my $est = new WebPAC::Output::Estraier( %{ $est_config } );
$log->info("creating new database $database in $db_path");
rmtree( $db_path ) || $log->warn("can't remove $db_path: $!");
} else {
- $log->info("working on $database in $db_path");
+ $log->debug("working on $database in $db_path");
}
my $db = new WebPAC::Store(
my $input_module = $config->{webpac}->{inputs}->{$type};
- $log->info("working on input $input->{path} [$input->{type}] using $input_module");
+ $log->info("working on input '$input->{path}' [$input->{type}] using $input_module lookup '$input->{lookup}'");
my $input_db = new WebPAC::Input(
module => $input_module,
limit => $limit || $input->{limit},
offset => $offset,
lookup => $lookup,
+ recode => $input->{recode},
);
$log->logdie("can't create input using $input_module") unless ($input);
};
- $log->info("$total_rows records indexed");
+ my $dt = time() - $start_t;
+ $log->info("$total_rows records indexed in " .
+ sprintf("%.2f sec [%.2f rec/sec]",
+ $dt, ($total_rows / $dt)
+ )
+ );
#
# add Hyper Estraier links to other databases