[KinoSearch] [PATCH] bring dump_index up to date
Father Chrysostomos
sprout at cpan.org
Mon Mar 3 09:29:38 PST 2008
Index: devel/bin/dump_index
===================================================================
--- devel/bin/dump_index (revision 3096)
+++ devel/bin/dump_index (working copy)
@@ -19,8 +19,9 @@
my $r = KinoSearch::Index::IndexReader->open(
invindex => $schema_class->open($where) );
-my @readers = ref $r->{sub_readers} eq 'ARRAY' ? @{ $r->{sub_readers} } : $r;
-print "We have " . @readers . " readers\n";
+my @readers = $r->isa('KinoSearch::Index::MultiReader') ?
+ $r->get_sub_readers->to_perl : $r;
+print "We have " . @readers . " reader" . 's' x (@readers != 1) . "\n";
print "\n\nDocuments:\n";
for my $reader (@readers) {
@@ -46,23 +47,24 @@
}
print "Terms:\n";
for my $field_name ( sort $schema->all_fields ) {
- my $lexicon = $reader->look_up_field($field_name);
+ my $lexicon = $reader->lexicon(field => $field_name);
next unless defined $lexicon;
my $plist = $reader->posting_list( field => $field_name );
while ( $lexicon->next ) {
my $term = $lexicon->get_term;
- print $term->to_string . "\n";
+ print "$field_name:$term\n";
$plist->seek($term);
while ( $plist->next ) {
print "\t Doc "
. $plist->get_doc_num . " ("
- . $plist->get_doc_freq
+ . $plist->get_posting->get_freq
. " occurrences)\n";
}
}
}
}
-print "Total documents: " . $r->max_doc . " in " . @readers . " segments\n";
+print "Total documents: " . $r->max_doc . " in " . @readers . " segment"
+ . 's' x (@readers != 1) . "\n";
__END__
More information about the kinosearch
mailing list