
sprout at cpan
Mar 3, 2008, 9:29 AM
Post #1 of 2
(857 views)
Permalink
|
|
[PATCH] bring dump_index up to date
|
|
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__
|