40 |
|
|
41 |
my $dsn = $Conf{SearchDSN} || die "Need SearchDSN in config.pl\n"; |
my $dsn = $Conf{SearchDSN} || die "Need SearchDSN in config.pl\n"; |
42 |
my $user = $Conf{SearchUser} || ''; |
my $user = $Conf{SearchUser} || ''; |
43 |
|
my $index_path = $Conf{HyperEstraierIndex}; |
44 |
|
|
45 |
my $dbh = DBI->connect($dsn, $user, "", { RaiseError => 1, AutoCommit => 0 }); |
my $dbh = DBI->connect($dsn, $user, "", { RaiseError => 1, AutoCommit => 0 }); |
46 |
|
|
68 |
## update index ## |
## update index ## |
69 |
if ($opt{i}) { |
if ($opt{i}) { |
70 |
|
|
71 |
my $index_dir = '/var/tmp/casket'; |
print "updating HyperEstraier files "; |
72 |
|
|
|
print "updating HyperEstraier index $index_dir..."; |
|
|
|
|
|
use HyperEstraier; |
|
|
my $db = HyperEstraier::Database->new(); |
|
|
$db->open($index_dir, $HyperEstraier::Database::DBWRITER | $HyperEstraier::Database::DBCREAT); |
|
|
|
|
73 |
my $sth = $dbh->prepare(qq{ |
my $sth = $dbh->prepare(qq{ |
74 |
SELECT |
SELECT |
75 |
files.id AS fid, |
files.id AS fid, |
105 |
my $i = 0; |
my $i = 0; |
106 |
my $max = int($sth->rows / $dot); |
my $max = int($sth->rows / $dot); |
107 |
|
|
108 |
|
$index_path = $TopDir . '/' . $index_path; |
109 |
|
$index_path =~ s#//#/#g; |
110 |
|
|
111 |
|
print "index $index_path..."; |
112 |
|
use HyperEstraier; |
113 |
|
my $db = HyperEstraier::Database->new(); |
114 |
|
$db->open($index_path, $HyperEstraier::Database::DBWRITER | $HyperEstraier::Database::DBCREAT); |
115 |
|
|
116 |
|
|
117 |
while (my $row = $sth->fetchrow_hashref()) { |
while (my $row = $sth->fetchrow_hashref()) { |
118 |
|
|
119 |
# create a document object |
# create a document object |