Package org.apache.wiki.search

# Class BasicSearchProvider

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

All Implemented Interfaces:
  `WikiProvider`, `SearchProvider`

public class BasicSearchProvider extends 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
Constructor
Description
`BasicSearchProvider()`

## Method Summary

Modifier and Type
Method
Description
`Collection<SearchResult>`
`findPages(String query, Context wikiContext)`
Search for pages matching a search query.
`String`
`getProviderInfo()`
`void`
`initialize(Engine engine, Properties props)`
`void`
`pageRemoved(Page page)`
Delete a page from the search index.
`QueryItem[]`
`parseQuery(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 Details

### BasicSearchProvider

public BasicSearchProvider()

## Method Details

### initialize

public void initialize(Engine engine, Properties props) throws NoRequiredPropertyException, IOException

Specified by:
  `initialize` in interface `WikiProvider`
Throws:
  `NoRequiredPropertyException`
  `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(String query)
Parses a query into something that we can use.

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

### findPages

public Collection<SearchResult> findPages(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 String getProviderInfo()

Specified by:
  `getProviderInfo` in interface `WikiProvider`