[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