NAME

LucyX::Search::WildcardQuery - Lucy query extension

SYNOPSIS

 my $query = LucyX::Search::WildcardQuery->new(
    term    => 'green*',
    field   => 'color',
 );
 my $hits = $searcher->hits( query => $query );
 

DESCRIPTION

LucyX::Search::WildcardQuery extends the Lucy::QueryParser syntax to support wildcards. This code is similar to the sample PrefixQuery code in the Lucy distribution and the KinoSearch::Search::WildCardQuery and Search::Query::Dialect::KSx::WildcardQuery module on CPAN.

METHODS

This class is a subclass of Lucy::Search::Query. Only new or overridden methods are documented here.

new( args )

Create a new WildcardQuery object. args must contain key/value pairs for field and term.

get_term

get_field

Retrieve the value set in new().

get_regex

Retrieve the qr// object representing term.

get_prefix

Retrieve the literal string (if any) that precedes the wildcards in term.

get_suffix

Retrieve the literal string (if any) that follows the wildcards in term.

add_lex_term( term )

Push term onto the stack of lexicon terms that this Query matches.

get_lex_terms

Returns array ref of terms in the lexicons that this query matches.

equals

Returns true (1) if the object represents the same kind of query clause as another WildcardQuery.

NOTE: Currently a NOTWildcardQuery and a WildcardQuery object will evaluate as equal if they have the same terma and field. This is a bug.

to_string

Returns the query clause the object represents.

make_compiler

Returns a LucyX::Search::WildcardCompiler object.

AUTHOR

Peter Karman, <karman at cpan.org>

BUGS

Please report any bugs or feature requests to bug-lucyx-search-wildcardquery at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=LucyX-Search-WildcardQuery. 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 LucyX::Search::WildcardQuery

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2011 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.