NAME

Lucy::Search::PhraseQuery - Query matching an ordered list of terms.

SYNOPSIS

my $phrase_query = Lucy::Search::PhraseQuery->new( 
    field => 'content',
    terms => [qw( the who )],
);
my $hits = $searcher->hits( query => $phrase_query );

DESCRIPTION

PhraseQuery is a subclass of Query for matching against an ordered sequence of terms.

CONSTRUCTORS

new

my $phrase_query = Lucy::Search::PhraseQuery->new(
    field => $field  # required
    terms => $terms  # required
);

Create a new PhraseQuery.

  • field - The field that the phrase must occur in.

  • terms - The ordered array of terms that must match.

METHODS

get_field

my $string = $phrase_query->get_field();

Accessor for object’s field attribute.

get_terms

my $arrayref = $phrase_query->get_terms();

Accessor for object’s array of terms.

make_compiler

my $compiler = $phrase_query->make_compiler(
    searcher    => $searcher     # required
    boost       => $boost        # required
    subordinate => $subordinate  # default: false
);

Abstract factory method returning a Compiler derived from this Query.

  • searcher - A Searcher.

  • boost - A scoring multiplier.

  • subordinate - Indicates whether the Query is a subquery (as opposed to a top-level query). If false, the implementation must invoke normalize() on the newly minted Compiler object before returning it.

INHERITANCE

Lucy::Search::PhraseQuery isa Lucy::Search::Query isa Clownfish::Obj.