1Lucy::Search::Query(3)User Contributed Perl DocumentationLucy::Search::Query(3)
2
3
4

NAME

6       Lucy::Search::Query - A specification for a search query.
7

SYNOPSIS

9           # Query is an abstract base class.
10           package MyQuery;
11           use base qw( Lucy::Search::Query );
12
13           sub make_compiler {
14               my ( $self, %args ) = @_;
15               my $subordinate = delete $args{subordinate};
16               my $compiler = MyCompiler->new( %args, parent => $self );
17               $compiler->normalize unless $subordinate;
18               return $compiler;
19           }
20
21           package MyCompiler;
22           use base ( Lucy::Search::Compiler );
23           ...
24

DESCRIPTION

26       Query objects are simple containers which contain the minimum
27       information necessary to define a search query.
28
29       The most common way to generate Query objects is to feed a search
30       string such as Xfoo AND barX to a QueryParserXs parse() method, which
31       outputs an abstract syntax tree built up from various Query subclasses
32       such as ANDQuery and TermQuery.  However, it is also possible to use
33       custom Query objects to build a search specification which cannot be
34       easily represented using a search string.
35
36       Subclasses of Query must implement make_compiler(), which is the first
37       step in compiling a Query down to a Matcher which can actually match
38       and score documents.
39

CONSTRUCTORS

41   new
42           my $query = MyQuery->SUPER::new(
43               boost => 2.5,
44           );
45
46       Abstract constructor.
47
48       ·   boost - A scoring multiplier, affecting the Query's relative
49           contribution to each document's score.  Typically defaults to 1.0,
50           but subclasses which do not contribute to document scores such as
51           NOTQuery and MatchAllQuery default to 0.0 instead.
52

ABSTRACT METHODS

54   make_compiler
55           my $compiler = $query->make_compiler(
56               searcher    => $searcher,     # required
57               boost       => $boost,        # required
58               subordinate => $subordinate,  # default: false
59           );
60
61       Abstract factory method returning a Compiler derived from this Query.
62
63       ·   searcher - A Searcher.
64
65       ·   boost - A scoring multiplier.
66
67       ·   subordinate - Indicates whether the Query is a subquery (as opposed
68           to a top-level query).  If false, the implementation must invoke
69           normalize() on the newly minted Compiler object before returning
70           it.
71

METHODS

73   set_boost
74           $query->set_boost($boost);
75
76       Set the QueryXs boost.
77
78   get_boost
79           my $float = $query->get_boost();
80
81       Get the QueryXs boost.
82
83   dump
84           my $obj = $query->dump();
85
86   load
87           my $obj = $query->load($dump);
88

INHERITANCE

90       Lucy::Search::Query isa Clownfish::Obj.
91
92
93
94perl v5.32.0                      2020-07-28            Lucy::Search::Query(3)
Impressum