NAME

LucyX::Search::ProximityQuery - Query matching an ordered list of terms.

SYNOPSIS

    my $proximity_query = LucyX::Search::ProximityQuery->new( 
        field  => 'content',
        terms  => [qw( the who )],
        within => 10,    # match within 10 positions
    );
    my $hits = $searcher->hits( query => $proximity_query );

DESCRIPTION

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

CONSTRUCTORS

new

    my $proximity_query = LucyX::Search::ProximityQuery->new(
        field  => $field,   # required
        terms  => $terms,   # required
        within => $within,  # required
    );

Create a new ProximityQuery.

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

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

METHODS

get_field

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

Accessor for object’s field attribute.

get_terms

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

Accessor for object’s array of terms.

get_within

    my $int = $proximity_query->get_within();

Accessor for object’s within attribute.

make_compiler

    my $compiler = $proximity_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

LucyX::Search::ProximityQuery isa Lucy::Search::Query isa Clownfish::Obj.