# Package org.modeshape.jcr.spi.index.provider

This package contains the Service Provider Interface (SPI) for custom index providers, which are components that encapsulate how ModeShape updates and uses a set of particular indexes.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Index | A provider-specific index used by the query system to quickly provide the set of `NodeKey`s that satisfy a particular portion of a query.
  Index.Operation | A potentially executable stateful operation that returns the set of nodes that satisfies the constraints supplied when the operation is `created`.
  IndexFilter | The filter containing a set of constraints.
  IndexWriter | Interface used to record in the indexes the changes to content.
  IndexWriter.IndexingContext | The context of a set of indexing operations, typically aligned with and part of a single transaction.
  ResultWriter | A writer passed by ModeShape to a `Index.Operation` instance when the query engine needs additional results for the query.

- Class Summary
  Class | Description
  --- | ---
  IndexPlanner | A provider-specific component obtained by ModeShape and then used in the planning and optimization phases of each query to identify which provider-specific indexes, if any, can be used in the processing phase to most-efficiently obtain the set of nodes that satisfies the given criteria.
  IndexProvider | A component that provides access to and manages one or more indexes.

- Exception Summary
  Exception | Description
  --- | ---
  IndexProviderExistsException | Exception used when an index provider already exists.
  NoSuchProviderException | Exception used when an index does not exist.

## Package org.modeshape.jcr.spi.index.provider Description

This package contains the Service Provider Interface (SPI) for custom index providers, which are components that encapsulate how ModeShape updates and uses a set of particular indexes. To integrate your own indexing technology into ModeShape, start by create a concrete subclass of `IndexProvider`, as well as the necessary `IndexWriter`, `Index`, and `IndexPlanner` interfaces.

Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.