Plucene::Index::SegmentReader - the Segment reader


Plucene documentation  | view source Contained in the Plucene distribution.

Index


NAME

Top

Plucene::Index::SegmentReader - the Segment reader

SYNOPSIS

Top

	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

Top

The segment reader class.

METHODS

Top

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.


Plucene documentation  | view source Contained in the Plucene distribution.