## Package org.apache.lucene.index

Code to maintain and access indices.

See:
Description

Interface Summary
IndexCommitPoint: Deprecated. Please subclass IndexCommit class instead
IndexDeletionPolicy: Expert: policy for deletion of stale `index commits`.
TermDocs: TermDocs provides an interface for enumerating <document, frequency> pairs for a term.
TermFreqVector: Provides access to stored term vector of a document field.
TermPositions: TermPositions provides an interface for enumerating the <document, frequency, <position>* > tuples for a term.
TermPositionVector: Extends `TermFreqVector` to provide additional information about positions in which each of the terms is found.

Class Summary
AbstractAllTermDocs: Base class for enumerating all but deleted docs.
CheckIndex: Basic tool and API to check the health of an index and write a new segments file that removes reference to problematic segments.
CheckIndex.Status: Returned from `CheckIndex.checkIndex()` detailing the health and status of the index.
CheckIndex.Status.FieldNormStatus: Status from testing field norms.
CheckIndex.Status.SegmentInfoStatus: Holds the status of each segment in the index.
CheckIndex.Status.StoredFieldStatus: Status from testing stored fields.
CheckIndex.Status.TermIndexStatus: Status from testing term index.
CheckIndex.Status.TermVectorStatus: Status from testing stored fields.
ConcurrentMergeScheduler: A `MergeScheduler` that runs each merge using a separate thread, up until a maximum number of threads (`ConcurrentMergeScheduler.setMaxThreadCount(int)`) at which when a merge is needed, the thread(s) that are updating the index will pause until one or more merges completes.
FieldInvertState: This class tracks the number and position / offset parameters of terms being added to the index.
FieldNormModifier: Given a directory and a list of fields, updates the fieldNorms in place for every document.
FieldSortedTermVectorMapper: For each Field, store a sorted collection of `TermVectorEntry`s This is not thread-safe.
FilterIndexReader: A `FilterIndexReader` contains another IndexReader, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
FilterIndexReader.FilterTermDocs: Base class for filtering `TermDocs` implementations.
FilterIndexReader.FilterTermEnum: Base class for filtering `TermEnum` implementations.
FilterIndexReader.FilterTermPositions: Base class for filtering `TermPositions` implementations.
IndexCommit: Expert: represents a single commit into an index as seen by the `IndexDeletionPolicy` or `IndexReader`.
IndexFileNameFilter: Filename filter that accept filenames and extensions only created by Lucene.
IndexModifier: Deprecated. Please use `IndexWriter` instead.
IndexReader: IndexReader is an abstract class, providing an interface for accessing an index.
IndexReader.FieldOption: Constants describing field properties, for example used for `IndexReader.getFieldNames(FieldOption)`.
IndexWriter: An `IndexWriter` creates and maintains an index.
IndexWriter.IndexReaderWarmer: If `IndexWriter.getReader()` has been called (ie, this writer is in near real-time mode), then after a merge completes, this class can be invoked to warm the reader on the newly merged segment, before the merge commits.
IndexWriter.MaxFieldLength: Specifies maximum field length (in number of tokens/terms) in `IndexWriter` constructors.
KeepOnlyLastCommitDeletionPolicy: This `IndexDeletionPolicy` implementation that keeps only the most recent commit and immediately removes all prior commits after a new commit is done.
LogByteSizeMergePolicy: This is a `LogMergePolicy` that measures size of a segment as the total byte size of the segment's files.
LogDocMergePolicy: This is a `LogMergePolicy` that measures size of a segment as the number of documents (not taking deletions into account).
LogMergePolicy: This class implements a `MergePolicy` that tries to merge segments into levels of exponentially increasing size, where each level has fewer segments than the value of the merge factor.
MergePolicy: Expert: a MergePolicy determines the sequence of primitive merge operations to be used for overall merge and optimize operations.
MergePolicy.MergeSpecification: A MergeSpecification instance provides the information necessary to perform multiple merges.
MergePolicy.OneMerge: OneMerge provides the information necessary to perform an individual primitive merge operation, resulting in a single new segment.
MergeScheduler: Expert: `IndexWriter` uses an instance implementing this interface to execute the merges selected by a `MergePolicy`.
MultipleTermPositions: Allows you to iterate over the `TermPositions` for multiple `Term`s as a single `TermPositions`.
MultiReader: An IndexReader which reads multiple indexes, appending their content.
ParallelReader: An IndexReader which reads multiple, parallel indexes.
Payload: A Payload is metadata that can be stored together with each occurrence of a term.
PositionBasedTermVectorMapper: For each Field, store position by position information.
PositionBasedTermVectorMapper.TVPositionInfo: Container for a term at a position
SegmentInfo: Information about a segment such as it's name, directory, and files related to the segment.
SegmentInfos: A collection of segmentInfo objects with methods for operating on those segments in relation to the file system.
SegmentInfos.FindSegmentsFile: Utility class for executing code that needs to do something with the current segments file.
SegmentReader: NOTE: This API is new and still experimental (subject to change suddenly in the next release)
SerialMergeScheduler: A `MergeScheduler` that simply does each merge sequentially, using the current thread.
SnapshotDeletionPolicy: A `IndexDeletionPolicy` that wraps around any other `IndexDeletionPolicy` and adds the ability to hold and later release a single "snapshot" of an index.
SortedTermVectorMapper: Store a sorted collection of `TermVectorEntry`s.
Term: A Term represents a word from text.
TermEnum: Abstract class for enumerating terms.
TermVectorAccessor: Transparent access to the vector space model, either via TermFreqVector or by resolving it from the inverted index.
TermVectorEntry: Convenience class for holding TermVector information.
TermVectorEntryFreqSortedComparator: Compares `TermVectorEntry`s first by frequency and then by the term (case-sensitive)
TermVectorMapper: The TermVectorMapper can be used to map Term Vectors into your own structure instead of the parallel array structure used by `IndexReader.getTermFreqVector(int,String)`.
TermVectorOffsetInfo: The TermVectorOffsetInfo class holds information pertaining to a Term in a `TermPositionVector`'s offset information.

Exception Summary
CorruptIndexException: This exception is thrown when Lucene detects an inconsistency in the index.
FieldReaderException
MergePolicy.MergeAbortedException
MergePolicy.MergeException: Exception thrown if there are any problems while executing a merge.
StaleReaderException: This exception is thrown when an `IndexReader` tries to make changes to the index (via `IndexReader.deleteDocument(int)`, `IndexReader.undeleteAll()` or `IndexReader.setNorm(int, java.lang.String, byte)`) but changes have already been committed to the index since this reader was instantiated.

## Package org.apache.lucene.index Description

Code to maintain and access indices.

Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.