Package org.apache.wiki.search

## Interface SearchProvider

All Superinterfaces:
  `WikiProvider`

All Known Implementing Classes:
  `BasicSearchProvider`, `LuceneSearchProvider`

    public interface SearchProvider
    extends WikiProvider

Interface for the search providers that handle searching the Wiki

Since:
  2.2.21.

### Field Summary

### Fields inherited from interface org.apache.wiki.api.providers.WikiProvider

`LATEST_VERSION`

### Method Summary

All Methods Instance Methods Abstract Methods
`java.util.Collection<SearchResult>` `findPages​(java.lang.String query, Context wikiContext)` Search for pages matching a search query.
`void` `pageRemoved​(Page page)` Delete a page from the search index.
`void` `reindexPage​(Page page)` Adds a WikiPage for indexing queue.

### Methods inherited from interface org.apache.wiki.api.providers.WikiProvider

`getProviderInfo, initialize`

### Method Detail

#### pageRemoved

    void pageRemoved​(Page page)

Delete a page from the search index.

Parameters:
  `page` - Page to remove from search index.

#### reindexPage

    void reindexPage​(Page page)

Adds a WikiPage for indexing queue. This is called a queue, since this method is expected to return pretty quickly, and indexing to be done in a separate thread.

Parameters:
  `page` - The WikiPage to be indexed.

#### findPages

    java.util.Collection<SearchResult> findPages​(java.lang.String query,
                                                 Context wikiContext)
                                          throws ProviderException,
                                                 java.io.IOException

Search for pages matching a search query.

Parameters:
  `query` - query to search for
  `wikiContext` - the context within which to run the search
Returns:
  collection of pages that match query
Throws:
  `ProviderException` - if the search provider failed.
  `java.io.IOException` - if for some reason the query could not be executed.