NAME

Lucy::Search::NOTQuery - Invert the result set of another Query.

SYNOPSIS

my $not_bar_query = Lucy::Search::NOTQuery->new( 
    negated_query => $bar_query,
);
my $foo_and_not_bar_query = Lucy::Search::ANDQuery->new(
    children => [ $foo_query, $not_bar_query ].
);
my $hits = $searcher->hits( query => $foo_and_not_bar_query );
...

DESCRIPTION

A NOTQuery wraps another Query and matches against its inverse document set. All matching docs recieve a score of 0.0.

NOTQuery is often used in conjunction with ANDQuery to provide “a AND NOT b” semantics.

CONSTRUCTORS

new

my $not_query = Lucy::Search::NOTQuery->new( 
    negated_query => $query,
);

Create a new NOTQuery.

  • negated_query - The Query whose result set should be inverted.

METHODS

get_negated_query

my $query = $not_query->get_negated_query();

Accessor for the object’s negated query.

set_negated_query

$not_query->set_negated_query($negated_query);

Setter for the object’s negated query.

make_compiler

my $compiler = $not_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::NOTQuery isa Lucy::Search::PolyQuery isa Lucy::Search::Query isa Clownfish::Obj.