# Package org.apache.lucene.index

Code to maintain and access indices.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  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
  Class | Description
  --- | ---
  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.
  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.
  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
  Exception | Description
  --- | ---
  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-2016 Apache Software Foundation. All Rights Reserved.