# 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
  --- | ---
  Costable | A simple interface that provides metrics needed to compute the cost of applying indexes.
  Filter | A simple filter that takes constraints as input and returns a results object that lazily returns (in batches) those nodes that satisfy the constraints.
  Filter.Results | The results of a `Filter.filter(IndexConstraints)` operation that contains the nodes that satisfy the `supplied constraints`.
  IndexProvider.ManagedIndexOperation | An operation that performs on a managed index with the associated index definition.
  ManagedIndex | The top-level interface for an index owned by a provider, with common methods needed by indexes regardless of number of columns.

- Class Summary
  Class | Description
  --- | ---
  IndexChangeAdapter |
  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 a set of `indexes` that are described/defined with `IndexDefinition` objects via the session's `IndexManager`.
  IndexUsage | A component that can determine if an index can be used to evaluate constraints.
  NodeTypeMatcher |

- 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.