# perldoc > Plucene::Search::Searcher

## NAME
    [Plucene::Search::Searcher](https://www.chedong.com/phpMan.php/perldoc/Plucene%3A%3ASearch%3A%3ASearcher/markdown) - base class for searchers

## DESCRIPTION
    Abstract base class for searchers.

    Searching is the operation of locating a subset of the documents that contains desired content
    or that their attributes match some specification.

    The input for a search operation is a 'query' that specifies a criteria for selecting the
    documents and its output is a list of documents ('hits') that matched that criteria.

    The hit list is typically ordered by some measure of relevancy (called 'ranking' or 'scoring')
    and may contain only a subset of the set of documents that matched the query (typically the ones
    with the highest scored documents).

    The search operation is performed on an 'index' which is a specialized database that contains a
    pre compiled information of the document set. The index database is optimized for locating
    quickly documents that contains certain words or terms.

## METHODS
  doc_freq / max_doc / doc / _search_hc search_top
    These must be defined in a subclas

  search
            my [Plucene::Search::Hits](https://www.chedong.com/phpMan.php/perldoc/Plucene%3A%3ASearch%3A%3AHits/markdown) $hits = $searcher->new($query, $filter);

    This will return the [Plucene::Search::Hits](https://www.chedong.com/phpMan.php/perldoc/Plucene%3A%3ASearch%3A%3AHits/markdown) object for the passed in query and filter. At this
    stage, filter is optional.

  search_hc
