Provides a set of APIs for interacting with search engines. The APIs are split into two groups, one set for application authors, and another for query engine authors. The former are indexer-agnostic, enabling applications to provide search functionality without becoming tied to a specific implmentation. Applications authors should only use classes from the `com.arsdigita.seach` package. Query engine authors may also use classes in the `com.arsdigita.search.lucene` and `com.arsdigita.search.intermedia` sub-packages.

## General APIs

- Search Convenience APIs for invoking common operations
- SearchConfig Search configuration parameters

## Application APIs

### Populating the search index

- MetadataProvider DomainObject adapter for providing search metadata
- ContentProvider DomainObject adapter for providing search content
- MetadataProviderRegistry A registry mapping MetadataProviders to object types

### Querying the search index

- FilterType Specification of a type of filter
- QuerySpecification Specification of a search string and muliple filter specifications
- FilterSpecification Specification of parameters for a filter type

### Accessing query results

- DocumentResult Metadata for a single matching result document
- DocumentResultSet A set of documents matching a query specification

## Query Engine APIs

- QueryEngine Interface for performing a single search operation
- QueryEngineRegistry A registry mapping filter types to query engine implementations

## Deprecation

Having been moved into the `com.arsdigita.search.intermedia` package, the following intermedia specific classes are now deprecated:

- SearchableACSObject
- Searchable
- SearchableObserver
- SearchDataQuery
- SearchIndexHelp
- SearchIndexHelpCustomize
- SearchSpecification
- SimpleSearchSpecification