Package org.apache.wiki.search

## Class BasicSearchProvider

- java.lang.Object
- - org.apache.wiki.search.BasicSearchProvider

All Implemented Interfaces:
  `WikiProvider`, `SearchProvider`

    public class BasicSearchProvider
    extends java.lang.Object
    implements SearchProvider

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`

### Constructor Summary

Constructors
`BasicSearchProvider()`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.util.Collection<SearchResult>` `findPages​(java.lang.String query, Context wikiContext)` Search for pages matching a search query.
`java.lang.String` `getProviderInfo()`
`void` `initialize​(Engine engine, java.util.Properties props)`
`void` `pageRemoved​(Page page)` Delete a page from the search index.
`QueryItem[]` `parseQuery​(java.lang.String query)` Parses a query into something that we can use.
`void` `reindexPage​(Page page)` Adds a WikiPage for indexing queue.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### BasicSearchProvider

    public BasicSearchProvider()

### Method Detail

#### initialize

    public void initialize​(Engine engine,
                           java.util.Properties props)
                    throws NoRequiredPropertyException,
                           java.io.IOException

Specified by:
  `initialize` in interface `WikiProvider`
Throws:
  `NoRequiredPropertyException`
  `java.io.IOException`

#### pageRemoved

    public void pageRemoved​(Page page)

Delete a page from the search index.

Specified by:
  `pageRemoved` in interface `SearchProvider`
Parameters:
  `page` - Page to remove from search index.

#### reindexPage

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

Specified by:
  `reindexPage` in interface `SearchProvider`
Parameters:
  `page` - The WikiPage to be indexed.

#### parseQuery

    public QueryItem[] parseQuery​(java.lang.String query)

Parses a query into something that we can use.

Parameters:
  `query` - A query string.
Returns:
  A parsed array.

#### findPages

    public java.util.Collection<SearchResult> findPages​(java.lang.String query,
                                                        Context wikiContext)

Search for pages matching a search query.

Specified by:
  `findPages` in interface `SearchProvider`
Parameters:
  `query` - query to search for
  `wikiContext` - the context within which to run the search
Returns:
  collection of pages that match query

#### getProviderInfo

    public java.lang.String getProviderInfo()

Specified by:
  `getProviderInfo` in interface `WikiProvider`