---
name: "Lucy::Search::LeafQuery"
section: "3pm"
platform: "linux"
package: "liblucy-perl"
version: "0.3.3-7+b1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/Lucy::Search::LeafQuery"
---

# Lucy::Search::LeafQuery(3pm)

Leaf node in a tree created by QueryParser.

## NAME

Lucy::Search::LeafQuery - Leaf node in a tree created by QueryParser.

## SYNOPSIS

```
    package MyQueryParser;
    use base qw( Lucy::Search::QueryParser );
    sub expand_leaf {
        my ( $self, $leaf_query ) = @_;
        if ( $leaf_query->get_text =~ /.\*\s*$/ ) {
            return PrefixQuery->new(
                query_string => $leaf_query->get_text,
                field        => $leaf_query->get_field,
            );
        }
        else {
            return $self->SUPER::expand_leaf($leaf_query);
        }
    }
```

## DESCRIPTION

LeafQuery objects serve as leaf nodes in the tree structure generated by QueryParser's *tree()* method. Ultimately, they must be transformed, typically into either TermQuery or PhraseQuery objects, as attempting to search a LeafQuery causes an error.

## CONSTRUCTORS

### new( *\[labeled params\]* )

```
    my $leaf_query = Lucy::Search::LeafQuery->new(
        text  => '"three blind mice"',    # required
        field => 'content',               # default: undef
    );
```

- •

  **field** - Optional field name.

- •

  **text** - Raw query text.

## METHODS

### *get\_field()*

Accessor for object's `"field"` attribute.

### *get\_text()*

Accessor for object's `"text"` attribute.

## INHERITANCE

Lucy::Search::LeafQuery isa Lucy::Search::Query isa Lucy::Object::Obj.
