=item --stats
-dump statistics about used fields and subfields in each input
+disable indexing and dump statistics about field and subfield
+usage for each input
=back
die "no databases in config file!\n" unless ($config->{databases});
my $log = _new WebPAC::Common()->_get_logger();
+$log->info( "-" x 79 );
my $use_indexer = $config->{use_indexer} || 'hyperestraier';
-$log->info("using $use_indexer indexing engine...");
+if ($stats) {
+ $log->debug("option --stats disables update of indexing engine...");
+ $use_indexer = undef;
+} else {
+ $log->info("using $use_indexer indexing engine...");
+}
my $total_rows = 0;
my $start_t = time();
my $indexer;
- my $indexer_config = $config->{$use_indexer} || $log->logdie("can't find '$use_indexer' part in confguration");
- $indexer_config->{database} = $database;
- $indexer_config->{clean} = $clean;
- $indexer_config->{label} = $db_config->{name};
+ if ($use_indexer) {
+ my $indexer_config = $config->{$use_indexer} || $log->logdie("can't find '$use_indexer' part in confguration");
+ $indexer_config->{database} = $database;
+ $indexer_config->{clean} = $clean;
+ $indexer_config->{label} = $db_config->{name};
- if ($use_indexer eq 'hyperestraier') {
+ if ($use_indexer eq 'hyperestraier') {
- # open Hyper Estraier database
- use WebPAC::Output::Estraier '0.10';
- $indexer = new WebPAC::Output::Estraier( %{ $indexer_config } );
-
- } elsif ($use_indexer eq 'kinosearch') {
+ # open Hyper Estraier database
+ use WebPAC::Output::Estraier '0.10';
+ $indexer = new WebPAC::Output::Estraier( %{ $indexer_config } );
+
+ } elsif ($use_indexer eq 'kinosearch') {
- # open KinoSearch
- use WebPAC::Output::KinoSearch;
- $indexer_config->{clean} = 1 unless (-e $indexer_config->{index_path});
- $indexer = new WebPAC::Output::KinoSearch( %{ $indexer_config } );
+ # open KinoSearch
+ use WebPAC::Output::KinoSearch;
+ $indexer_config->{clean} = 1 unless (-e $indexer_config->{index_path});
+ $indexer = new WebPAC::Output::KinoSearch( %{ $indexer_config } );
- } else {
- $log->logdie("unknown use_indexer: $use_indexer");
+ } else {
+ $log->logdie("unknown use_indexer: $use_indexer");
+ }
+
+ $log->logide("can't continue without valid indexer") unless ($indexer);
}
- $log->logide("can't continue without valid indexer") unless ($indexer);
#
# now WebPAC::Store
id => $mfn,
ds => $ds,
prefix => $input->{name},
- ) if ($ds);
+ ) if ($ds && !$stats);
}
$indexer->add(
id => $input->{name} . "/" . $mfn,
ds => $ds,
type => $config->{$use_indexer}->{type},
- );
+ ) if ($indexer);
$total_rows++;
}
};
- eval { $indexer->finish } if ($indexer->can('finish'));
+ eval { $indexer->finish } if ($indexer && $indexer->can('finish'));
my $dt = time() - $start_t;
$log->info("$total_rows records indexed in " .