NAME

Lucy::Search::PolyQuery - Base class for composite Query objects.

SYNOPSIS

sub walk {
    my $query = shift;
    if ( $query->isa("Lucy::Search::PolyQuery") ) {
        if    ( $query->isa("Lucy::Search::ORQuery") )  { ... }
        elsif ( $query->isa("Lucy::Search::ANDQuery") ) { ... }
        elsif ( $query->isa("Lucy::Search::RequiredOptionalQuery") ) {
            ...
        }
        elsif ( $query->isa("Lucy::Search::NOTQuery") ) { ... }
    }
    else { ... }
}

DESCRIPTION

PolyQuery serves as a shared base class for ANDQuery, ORQuery, NOTQuery, and RequiredOptionalQuery. All of these classes may serve as nodes in composite Query with a tree structure which may be walked.

METHODS

add_child

$poly_query->add_child($query);

Add a child Query node.

INHERITANCE

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