Package org.apache.wiki.search

# Class SearchMatcher

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

public class SearchMatcher extends Object
SearchMatcher performs the task of matching a search query to a page's contents. This utility class is isolated to simplify WikiPageProvider implementations and to offer an easy target for upgrades. The upcoming(?) TranslatorReader rewrite will presumably invalidate this, among other things.

Since:
  2.1.5

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`SearchMatcher.SearchResultImpl`
A local search result.

## Constructor Summary

Constructors
Constructor
Description
`SearchMatcher(Engine engine, QueryItem[] queries)`
Creates a new SearchMatcher.
`SearchMatcher(WikiEngine engine, QueryItem[] queries)`
Deprecated.
kept for compatibility with page/attachment providers not using public API.

## Method Summary

Modifier and Type
Method
Description
`SearchResult`
`matchPageContent(String wikiname, String pageText)`
Compares the page content, available through the given stream, to the query items of this matcher.

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

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

## Constructor Details

### SearchMatcher

public SearchMatcher(Engine engine, QueryItem[] queries)
Creates a new SearchMatcher.

Parameters:
  `engine` - The Engine
  `queries` - A list of queries

### SearchMatcher

@Deprecated public SearchMatcher(WikiEngine engine, QueryItem[] queries)
Deprecated.
kept for compatibility with page/attachment providers not using public API. Use `SearchMatcher(Engine, QueryItem)` instead.
Creates a new SearchMatcher.

Parameters:
  `engine` - The Engine
  `queries` - A list of queries

## Method Details

### matchPageContent

public SearchResult matchPageContent(String wikiname, String pageText) throws IOException
Compares the page content, available through the given stream, to the query items of this matcher. Returns a search result object describing the quality of the match.

This method would benefit of regexps (1.4) and streaming. FIXME!

Parameters:
  `wikiname` - The name of the page
  `pageText` - The content of the page
Returns:
  A SearchResult item, or null, there are no queries
Throws:
  `IOException` - If reading page content fails