/[webpac2]/trunk/run.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/run.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 416 by dpavlin, Sun Feb 26 23:21:50 2006 UTC revision 431 by dpavlin, Mon Apr 17 15:10:04 2006 UTC
# Line 13  use WebPAC::Input 0.03; Line 13  use WebPAC::Input 0.03;
13  use WebPAC::Store 0.03;  use WebPAC::Store 0.03;
14  use WebPAC::Normalize::XML;  use WebPAC::Normalize::XML;
15  use WebPAC::Output::TT;  use WebPAC::Output::TT;
 use WebPAC::Output::Estraier '0.10';  
16  use YAML qw/LoadFile/;  use YAML qw/LoadFile/;
17  use Getopt::Long;  use Getopt::Long;
18  use File::Path;  use File::Path;
# Line 41  limit loading to 100 records Line 40  limit loading to 100 records
40    
41  remove database and Hyper Estraier index before indexing  remove database and Hyper Estraier index before indexing
42    
43  =item --one=database_name  =item --only=database_name
44    
45  reindex just single database  reindex just single database (legacy name is --one)
46    
47  =item --config conf/config.yml  =item --config conf/config.yml
48    
# Line 59  my $limit; Line 58  my $limit;
58  my $clean = 0;  my $clean = 0;
59  my $config = 'conf/config.yml';  my $config = 'conf/config.yml';
60  my $debug = 0;  my $debug = 0;
61  my $one_db_name;  my $only_db_name;
62    
63  GetOptions(  GetOptions(
64          "limit=i" => \$limit,          "limit=i" => \$limit,
65          "offset=i" => \$offset,          "offset=i" => \$offset,
66          "clean" => \$clean,          "clean" => \$clean,
67          "one=s" => \$one_db_name,          "one=s" => \$only_db_name,
68            "only=s" => \$only_db_name,
69          "config" => \$config,          "config" => \$config,
70          "debug" => \$debug,          "debug" => \$debug,
71  );  );
# Line 76  print "config = ",Dumper($config) if ($d Line 76  print "config = ",Dumper($config) if ($d
76    
77  die "no databases in config file!\n" unless ($config->{databases});  die "no databases in config file!\n" unless ($config->{databases});
78    
79    my $log = _new WebPAC::Common()->_get_logger();
80    
81    my $use_indexer = $config->{use_indexer} || 'hyperestraier';
82    $log->info("using $use_indexer indexing engine...");
83    
84  my $total_rows = 0;  my $total_rows = 0;
85  my $start_t = time();  my $start_t = time();
86    
87  while (my ($database, $db_config) = each %{ $config->{databases} }) {  while (my ($database, $db_config) = each %{ $config->{databases} }) {
88    
89          next if ($one_db_name && $database !~ m/$one_db_name/i);          next if ($only_db_name && $database !~ m/$only_db_name/i);
90    
91          my $log = _new WebPAC::Common()->_get_logger();          my $indexer;
92    
93          #          my $indexer_config = $config->{$use_indexer} || $log->logdie("can't find '$use_indexer' part in confguration");
94          # open Hyper Estraier database          $indexer_config->{database} = $database;
95          #          $indexer_config->{clean} = $clean;
96            $indexer_config->{label} = $db_config->{name};
97    
98            if ($use_indexer eq 'hyperestraier') {
99    
100                    # open Hyper Estraier database
101                    use WebPAC::Output::Estraier '0.10';
102                    $indexer = new WebPAC::Output::Estraier( %{ $indexer_config } );
103            
104            } elsif ($use_indexer eq 'kinosearch') {
105    
106                    # open KinoSearch
107                    use WebPAC::Output::KinoSearch;
108                    $indexer = new WebPAC::Output::KinoSearch( %{ $indexer_config } );
109    
110          my $est_config = $config->{hyperestraier} || $log->logdie("can't find 'hyperestraier' part in confguration");          } else {
111          $est_config->{database} = $database;                  $log->logdie("unknown use_indexer: $use_indexer");
112          $est_config->{clean} = $clean;          }
         $est_config->{label} = $db_config->{name};  
113    
114          my $est = new WebPAC::Output::Estraier( %{ $est_config } );          $log->logide("can't continue without valid indexer") unless ($indexer);
115    
116          #          #
117          # now WebPAC::Store          # now WebPAC::Store
# Line 198  while (my ($database, $db_config) = each Line 215  while (my ($database, $db_config) = each
215    
216                          my $ds = $n->data_structure($row);                          my $ds = $n->data_structure($row);
217    
218                          $est->add(                          $indexer->add(
219                                  id => $input->{name} . "/" . $mfn,                                  id => $input->{name} . "/" . $mfn,
220                                  ds => $ds,                                  ds => $ds,
221                                  type => $config->{hyperestraier}->{type},                                  type => $config->{$use_indexer}->{type},
222                          );                          );
223    
224                          $total_rows++;                          $total_rows++;
# Line 221  while (my ($database, $db_config) = each Line 238  while (my ($database, $db_config) = each
238          #          #
239          if (ref($db_config->{links}) eq 'ARRAY') {          if (ref($db_config->{links}) eq 'ARRAY') {
240                  foreach my $link (@{ $db_config->{links} }) {                  foreach my $link (@{ $db_config->{links} }) {
241                          $log->info("adding link $database -> $link->{to} [$link->{credit}]");                          if ($use_indexer eq 'hyperestraier') {
242                          $est->add_link(                                  $log->info("adding link $database -> $link->{to} [$link->{credit}]");
243                                  from => $database,                                  $indexer->add_link(
244                                  to => $link->{to},                                          from => $database,
245                                  credit => $link->{credit},                                          to => $link->{to},
246                          );                                          credit => $link->{credit},
247                                    );
248                            } else {
249                                    $log->warn("NOT IMPLEMENTED WITH $use_indexer: adding link $database -> $link->{to} [$link->{credit}]");
250                            }
251                  }                  }
252          }          }
253    

Legend:
Removed from v.416  
changed lines
  Added in v.431

  ViewVC Help
Powered by ViewVC 1.1.26