man Plucene::Index::SegmentReader () - the Segment reader
NAME
Plucene::Index::SegmentReader - the Segment reader
SYNOPSIS
my $seg_reader = Plucene::Index::SegmentReader->new( Plucene::Index::SegmentInfo $si);
my @files = $seg_reader->files; my @terms = $seg_reader->terms; my $doc = $seg_reader->document($id); my $doc_freq = $seg_reader->doc_freq($term); my $max_doc = $seg_reader->max_doc; my $norms = $seg_reader->norms($field, $offset);
my Plucene::Index::SegmentTermDocs $docs = $seg_reader->term_docs($term);
my Plucene::Index::SegmentTermPositions $pos = $seg_reader->term_positions($term);
my Plucene::Store::InputStream $stream = $seg_reader->norm_stream($field);
if ($seg_reader->is_deleted($id)) { .. } if ($seg_reader->has_deletions(Plucene::Index::SegmentInfo $si)) { ... }
DESCRIPTION
The segment reader class.
METHODS
new
my $seg_reader = Plucene::Index::SegmentReader->new( Plucene::Index::SegmentInfo $si);
This will create a new Plucene::Index::SegmentReader object.
has_deletions
if ($seg_reader->has_deletions(Plucene::Index::SegmentInfo $si)) { ... }
files
my @files = $seg_reader->files;
terms
my @terms = $seg_reader->terms;
document
my $doc = $seg_reader->document($id);
is_deleted
if ($seg_reader->is_deleted($id)) { .. }
term_docs
my Plucene::Index::SegmentTermDocs $docs = $seg_reader->term_docs($term);
This will return the Plucene::Index::SegmentTermDocs object for the given term.
term_positions
my Plucene::Index::SegmentTermPositions $pos = $seg_reader->term_positions($term);
This will return the Plucene::Index::SegmentTermPositions object for the given term.
doc_freq
my $doc_freq = $seg_reader->doc_freq($term);
This returns the number of documents containing the passed term.
num_docs
my $num_docs = $seg_reader->num_docs;
This is the number of documents, excluding deleted ones.
max_doc
my $max_doc = $seg_reader->max_doc;
norms
my $norms = $seg_reader->norms($field, $offset);
This returns the byte-encoded normalisation factor for the passed field. This is used by the search code to score documents.
Note we are not using the 'offset' and 'bytes' arguments per the Java. Instead, callers should use substr to put the result of norms into the appropriate place in a string.
norm_stream
my Plucene::Store::InputStream $stream = $seg_reader->norm_stream($field);
This will return the Plucene::Store::InputStream for the passed field.