+ add set and get to create in-memory lookup
+ support marc_remove('*')
+ fix-length fields (<100) support [2.29]
++ work without indexers installed or enabled [2.30]
- simpliest possible conf/default.yml as example
-- work without search engines installed or enabled
- load_ds/save_ds should use on-disk hash to preserve inodes
- leader(position,...), indicator(field,nr) nr=1|2 for MARC input
- validate should ignore modify_file
sub use_indexer {
my $self = shift;
- my $default = 'hyperestraier';
return unless ($self->{config});
- return $self->{config}->{use_indexer} || $default;
+ return $self->{config}->{use_indexer} || undef;
}
=head2 get
if ($stats) {
$log->debug("disabled indexing for stats collection");
$use_indexer = undef;
-} else {
+} elsif ( $use_indexer ) {
$log->info("using $use_indexer indexing engine...");
}
if ($use_indexer eq 'hyperestraier') {
# open Hyper Estraier database
- use WebPAC::Output::Estraier '0.10';
+ require WebPAC::Output::Estraier;
$indexer = new WebPAC::Output::Estraier( %{ $indexer_config } );
} elsif ($use_indexer eq 'hyperestraier-native') {
# open Hyper Estraier database
- use WebPAC::Output::EstraierNative;
+ require WebPAC::Output::EstraierNative;
$indexer = new WebPAC::Output::EstraierNative( %{ $indexer_config } );
} elsif ($use_indexer eq 'kinosearch') {
# open KinoSearch
- use WebPAC::Output::KinoSearch;
+ require WebPAC::Output::KinoSearch;
$indexer_config->{clean} = 1 unless (-e $indexer_config->{index_path});
$indexer = new WebPAC::Output::KinoSearch( %{ $indexer_config } );
$log->logdie("unknown use_indexer: $use_indexer");
}
- $log->logide("can't continue without valid indexer") unless ($indexer);
+ $log->logdie("can't continue without valid indexer") unless ($indexer);
}