NAME
SWISH::Prog::Searcher - base searcher class
SYNOPSIS
my $searcher = SWISH::Prog::Searcher->new(
invindex => 'path/to/index',
query_class => 'SWISH::Prog::Query',
query_parser => $swish_prog_queryparser,
config => $swish_prog_config,
max_hits => 100,
sort_order => 'swishrank',
);
my $results = $searcher->search( 'foo bar' );
while (my $result = $results->next) {
printf("%4d %s\n", $result->score, $result->uri);
}
DESCRIPTION
SWISH::Prog::Searcher is a base searcher class. It defines the APIs that all SWISH::Prog storage backends adhere to in returning results from a SWISH::Prog::InvIndex.
METHODS
init
Overrides base method.
config
A SWISH::Prog::Config object. Required. Set in new().
invindex
A SWISH::Prog::InvIndex object or directory path. Required. Set in new().
max_hits
The maximum number of hits to return. Optional. Default is 1000.
query_class
Default is SWISH::Prog::Query
.
query_parser
A SWISH::Prog::QueryParser object. Optional. Set in new().
sort_order
The order in which Results will be sorted. Default is descending by swishrank
.
search( query )
Returns a SWISH::Prog::Results object.
check_query( query )
Utility method, intended to be called from search().
Example:
sub search {
my $self = shift;
my $args = $self->check_query(@_);
# $self->query now guaranteed to contain a Query object.
}
AUTHOR
Peter Karman, <perl@peknet.com>
BUGS
Please report any bugs or feature requests to bug-swish-prog at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SWISH-Prog. 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
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
COPYRIGHT AND LICENSE
Copyright 2008-2009 by Peter Karman
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.