NAME

SWISH::Prog::KSx::Searcher - search Swish3 KinoSearch backend

SYNOPSIS

# see SWISH::Prog::Searcher

DESCRIPTION

SWISH::Prog::KSx::Searcher is a KinoSearch-based Searcher class for Swish3.

SWISH::Prog::KSx::Searcher is not made to replace the more fully-featured KinoSearch::Searcher class and its friends. Instead, SWISH::Prog::KSx::Searcher provides a simple API similar to other SWISH::Prog::Searcher-based backends so that you can experiment with alternate storage engines without needing to change much code. When your search application requirements become more complex, the author recommends the switch to using KinoSearch::Searcher directly.

METHODS

Only new and overridden methods are documented here. See the SWISH::Prog::Searcher documentation.

init

Called internally by new().

search( query [, opts ] )

Returns a SWISH::Prog::KSx::Results object.

query is assumed to be query string compatible with Search::Query::Dialect::KSx.

opts is an optional hashref with the following supported key/values:

start

The starting position. Default is 0.

max

The ending position. Default is max_hits() as documented in SWISH::Prog::Searcher.

order

Takes a SQL-like text string (like SWISH::Prog::Native::Searcher) or a KinoSearch::Search::SortSpec object, which will determine the sort order.

limit

Takes an arrayref of arrayrefs. Each child arrayref should have three values: a field (PropertyName) value, a lower limit and an upper limit.

default_boolop

The default boolean connector for parsing query. Valid values are AND and OR. The default is AND (which is different than KinoSearch::QueryParser, but the same as Swish-e).

get_ks

Returns the internal KinoSearch::Search::PolySearcher object.

AUTHOR

Peter Karman, <karman at cpan.org>

BUGS

Please report any bugs or feature requests to bug-swish-prog-ksx at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SWISH-Prog-KSx. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc SWISH::Prog::KSx

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2009 Peter Karman.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.