You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2016/09/28 12:06:26 UTC
svn commit: r1762636 [11/12] - in /lucy/site/trunk/content/docs: ./ 0.5.0/
0.5.0/c/ 0.5.0/c/Clownfish/ 0.5.0/c/Clownfish/Docs/ 0.5.0/c/Lucy/
0.5.0/c/Lucy/Analysis/ 0.5.0/c/Lucy/Docs/ 0.5.0/c/Lucy/Docs/Cookbook/
0.5.0/c/Lucy/Docs/Tutorial/ 0.5.0/c/Lucy/...
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/FullTextType.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/FullTextType.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/FullTextType.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/FullTextType.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,109 @@
+Title: Lucy::Plan::FullTextType – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Plan::FullTextType - Full-text search field type.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $easyanalyzer = Lucy::Analysis::EasyAnalyzer->new(
+ language => 'en',
+);
+my $type = Lucy::Plan::FullTextType->new(
+ analyzer => $easyanalyzer,
+);
+my $schema = Lucy::Plan::Schema->new;
+$schema->spec_field( name => 'title', type => $type );
+$schema->spec_field( name => 'content', type => $type );</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>Lucy::Plan::FullTextType is an implementation of <a href="../../Lucy/Plan/FieldType.html" class="podlinkpod"
+>FieldType</a> tuned for “full text search”.</p>
+
+<p>Full text fields are associated with an <a href="../../Lucy/Analysis/Analyzer.html" class="podlinkpod"
+>Analyzer</a>,
+which is used to tokenize and normalize the text so that it can be searched for individual words.</p>
+
+<p>For an exact-match,
+single value field type using character data,
+see <a href="../../Lucy/Plan/StringType.html" class="podlinkpod"
+>StringType</a>.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $type = Lucy::Plan::FullTextType->new(
+ analyzer => $analyzer, # required
+ boost => 2.0, # default: 1.0
+ indexed => 1, # default: true
+ stored => 1, # default: true
+ sortable => 1, # default: false
+ highlightable => 1, # default: false
+);</pre>
+
+<ul>
+<li><b>analyzer</b> - An Analyzer.</li>
+
+<li><b>boost</b> - floating point per-field boost.</li>
+
+<li><b>indexed</b> - boolean indicating whether the field should be indexed.</li>
+
+<li><b>stored</b> - boolean indicating whether the field should be stored.</li>
+
+<li><b>sortable</b> - boolean indicating whether the field should be sortable.</li>
+
+<li><b>highlightable</b> - boolean indicating whether the field should be highlightable.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="set_highlightable"
+>set_highlightable</a></h3>
+
+<pre>$full_text_type->set_highlightable($highlightable);</pre>
+
+<p>Indicate whether to store data required by <a href="../../Lucy/Highlight/Highlighter.html" class="podlinkpod"
+>Highlighter</a> for excerpt selection and search term highlighting.</p>
+
+<h3><a class='u'
+name="highlightable"
+>highlightable</a></h3>
+
+<pre>my $bool = $full_text_type->highlightable();</pre>
+
+<p>Accessor for “highlightable” property.</p>
+
+<h3><a class='u'
+name="get_analyzer"
+>get_analyzer</a></h3>
+
+<pre>my $analyzer = $full_text_type->get_analyzer();</pre>
+
+<p>Accessor for the type’s analyzer.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Plan::FullTextType isa Lucy::Plan::TextType isa <a href="../../Lucy/Plan/FieldType.html" class="podlinkpod"
+>Lucy::Plan::FieldType</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/Schema.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/Schema.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/Schema.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/Schema.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,145 @@
+Title: Lucy::Plan::Schema – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Plan::Schema - User-created specification for an inverted index.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>use Lucy::Plan::Schema;
+use Lucy::Plan::FullTextType;
+use Lucy::Analysis::EasyAnalyzer;
+
+my $schema = Lucy::Plan::Schema->new;
+my $easyanalyzer = Lucy::Analysis::EasyAnalyzer->new(
+ language => 'en',
+);
+my $type = Lucy::Plan::FullTextType->new(
+ analyzer => $easyanalyzer,
+);
+$schema->spec_field( name => 'title', type => $type );
+$schema->spec_field( name => 'content', type => $type );</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>A Schema is a specification which indicates how other entities should interpret the raw data in an inverted index and interact with it.</p>
+
+<p>Once an actual index has been created using a particular Schema,
+existing field definitions may not be changed.
+However,
+it is possible to add new fields during subsequent indexing sessions.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $schema = Lucy::Plan::Schema->new;</pre>
+
+<p>Constructor.
+Takes no arguments.</p>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="architecture"
+>architecture</a></h3>
+
+<pre>my $architecture = $schema->architecture();</pre>
+
+<p>Factory method which creates an Architecture object for this index.</p>
+
+<h3><a class='u'
+name="spec_field"
+>spec_field</a></h3>
+
+<pre>$schema->spec_field(
+ name => $name # required
+ type => $type # required
+);</pre>
+
+<p>Define the behavior of a field by associating it with a FieldType.</p>
+
+<p>If this method has already been called for the supplied <code>field</code>,
+it will merely test to verify that the supplied FieldType <a href="../../Clownfish/Obj.html#equals" class="podlinkpod"
+>equals()</a> the existing one.</p>
+
+<ul>
+<li><b>name</b> - The name of the field.</li>
+
+<li><b>type</b> - A FieldType.</li>
+</ul>
+
+<h3><a class='u'
+name="fetch_type"
+>fetch_type</a></h3>
+
+<pre>my $field_type = $schema->fetch_type($field);</pre>
+
+<p>Return the FieldType for the specified field.
+If the field can’t be found,
+return undef.</p>
+
+<h3><a class='u'
+name="fetch_sim"
+>fetch_sim</a></h3>
+
+<pre>my $similarity = $schema->fetch_sim($field);
+my $similarity = $schema->fetch_sim(); # default: undef</pre>
+
+<p>Return the Similarity for the specified field,
+or undef if either the field can’t be found or it isn’t associated with a Similarity.</p>
+
+<h3><a class='u'
+name="num_fields"
+>num_fields</a></h3>
+
+<pre>my $int = $schema->num_fields();</pre>
+
+<p>Return the number of fields currently defined.</p>
+
+<h3><a class='u'
+name="all_fields"
+>all_fields</a></h3>
+
+<pre>my $arrayref = $schema->all_fields();</pre>
+
+<p>Return all the Schema’s field names as an array.</p>
+
+<h3><a class='u'
+name="get_architecture"
+>get_architecture</a></h3>
+
+<pre>my $architecture = $schema->get_architecture();</pre>
+
+<p>Return the Schema instance’s internal Architecture object.</p>
+
+<h3><a class='u'
+name="get_similarity"
+>get_similarity</a></h3>
+
+<pre>my $similarity = $schema->get_similarity();</pre>
+
+<p>Return the Schema instance’s internal Similarity object.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Plan::Schema isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/StringType.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/StringType.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/StringType.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Plan/StringType.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,58 @@
+Title: Lucy::Plan::StringType – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Plan::StringType - Non-tokenized text type.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $type = Lucy::Plan::StringType->new;
+my $schema = Lucy::Plan::Schema->new;
+$schema->spec_field( name => 'category', type => $type );</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>Lucy::Plan::StringType is used for “exact-match” strings.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $type = Lucy::Plan::StringType->new(
+ boost => 0.1, # default: 1.0
+ indexed => 1, # default: true
+ stored => 1, # default: true
+ sortable => 1, # default: false
+);</pre>
+
+<ul>
+<li><b>boost</b> - floating point per-field boost.</li>
+
+<li><b>indexed</b> - boolean indicating whether the field should be indexed.</li>
+
+<li><b>stored</b> - boolean indicating whether the field should be stored.</li>
+
+<li><b>sortable</b> - boolean indicating whether the field should be sortable.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Plan::StringType isa Lucy::Plan::TextType isa <a href="../../Lucy/Plan/FieldType.html" class="podlinkpod"
+>Lucy::Plan::FieldType</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/ANDQuery.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/ANDQuery.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/ANDQuery.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/ANDQuery.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,84 @@
+Title: Lucy::Search::ANDQuery – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::ANDQuery - Intersect multiple result sets.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $foo_and_bar_query = Lucy::Search::ANDQuery->new(
+ children => [ $foo_query, $bar_query ],
+);
+my $hits = $searcher->hits( query => $foo_and_bar_query );
+...</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>ANDQuery is a composite <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Query</a> which matches only when all of its children match,
+so its result set is the intersection of their result sets.
+Documents which match receive a summed score.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $foo_and_bar_query = Lucy::Search::ANDQuery->new(
+ children => [ $foo_query, $bar_query ],
+);</pre>
+
+<p>Create a new ANDQuery.</p>
+
+<ul>
+<li><b>children</b> - An array of child Queries.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $and_query->make_compiler(
+ searcher => $searcher # required
+ boost => $boost # required
+ subordinate => $subordinate # default: false
+);</pre>
+
+<p>Abstract factory method returning a Compiler derived from this Query.</p>
+
+<ul>
+<li><b>searcher</b> - A Searcher.</li>
+
+<li><b>boost</b> - A scoring multiplier.</li>
+
+<li><b>subordinate</b> - Indicates whether the Query is a subquery (as opposed to a top-level query).
+If false,
+the implementation must invoke <a href="../../Lucy/Search/Compiler.html#normalize" class="podlinkpod"
+>normalize()</a> on the newly minted Compiler object before returning it.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::ANDQuery isa <a href="../../Lucy/Search/PolyQuery.html" class="podlinkpod"
+>Lucy::Search::PolyQuery</a> isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Collector.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Collector.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Collector.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Collector.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,79 @@
+Title: Lucy::Search::Collector – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::Collector - Process hits.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre># Abstract base class.</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>A Collector decides what to do with the hits that a <a href="../../Lucy/Search/Matcher.html" class="podlinkpod"
+>Matcher</a> iterates through,
+based on how the abstract <a href="#collect" class="podlinkpod"
+>collect()</a> method is implemented.</p>
+
+<p>Collectors operate on individual segments,
+but must operate within the context of a larger collection.
+Each time the collector moves to a new segment,
+Set_Reader(),
+Set_Base() and Set_Matcher() will be called,
+and the collector must take the updated information into account.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>package MyCollector;
+use base qw( Lucy::Search::Collector );
+our %foo;
+sub new {
+ my $self = shift->SUPER::new;
+ my %args = @_;
+ $foo{$$self} = $args{foo};
+ return $self;
+}</pre>
+
+<p>Abstract constructor.
+Takes no arguments.</p>
+
+<h2><a class='u'
+name="ABSTRACT_METHODS"
+>ABSTRACT METHODS</a></h2>
+
+<h3><a class='u'
+name="collect"
+>collect</a></h3>
+
+<pre>$collector->collect($doc_id);</pre>
+
+<p>Do something with a doc id.
+(For instance,
+keep track of the docs with the ten highest scores.)</p>
+
+<ul>
+<li><b>doc_id</b> - A segment document id.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::Collector isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Collector/BitCollector.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Collector/BitCollector.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Collector/BitCollector.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Collector/BitCollector.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,72 @@
+Title: Lucy::Search::Collector::BitCollector – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::Collector::BitCollector - Collector which records doc nums in a BitVector.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $bit_vec = Lucy::Object::BitVector->new(
+ capacity => $searcher->doc_max + 1,
+);
+my $bit_collector = Lucy::Search::Collector::BitCollector->new(
+ bit_vector => $bit_vec,
+);
+$searcher->collect(
+ collector => $bit_collector,
+ query => $query,
+);</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>BitCollector is a Collector which saves matching document ids in a <a href="../../../Lucy/Object/BitVector.html" class="podlinkpod"
+>BitVector</a>.
+It is useful for recording the entire set of documents which matches a query.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $bit_collector = Lucy::Search::Collector::BitCollector->new(
+ bit_vector => $bit_vec, # required
+);</pre>
+
+<p>Create a new BitCollector.</p>
+
+<ul>
+<li><b>bit_vector</b> - A Lucy::Object::BitVector.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="collect"
+>collect</a></h3>
+
+<pre>$bit_collector->collect($doc_id);</pre>
+
+<p>Set bit in the object’s BitVector for the supplied doc id.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::Collector::BitCollector isa <a href="../../../Lucy/Search/Collector.html" class="podlinkpod"
+>Lucy::Search::Collector</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Compiler.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Compiler.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Compiler.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Compiler.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,205 @@
+Title: Lucy::Search::Compiler – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::Compiler - Query-to-Matcher compiler.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre># (Compiler is an abstract base class.)
+package MyCompiler;
+use base qw( Lucy::Search::Compiler );
+
+sub make_matcher {
+ my $self = shift;
+ return MyMatcher->new( @_, compiler => $self );
+}</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>The purpose of the Compiler class is to take a specification in the form of a <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Query</a> object and compile a <a href="../../Lucy/Search/Matcher.html" class="podlinkpod"
+>Matcher</a> object that can do real work.</p>
+
+<p>The simplest Compiler subclasses – such as those associated with constant-scoring Query types – might simply implement a <a href="#make_matcher" class="podlinkpod"
+>make_matcher()</a> method which passes along information verbatim from the Query to the Matcher’s constructor.</p>
+
+<p>However it is common for the Compiler to perform some calculations which affect it’s “weight” – a floating point multiplier that the Matcher will factor into each document’s score.
+If that is the case,
+then the Compiler subclass may wish to override <a href="#get_weight" class="podlinkpod"
+>get_weight()</a>,
+<a href="#sum_of_squared_weights" class="podlinkpod"
+>sum_of_squared_weights()</a>,
+and <a href="#apply_norm_factor" class="podlinkpod"
+>apply_norm_factor()</a>.</p>
+
+<p>Compiling a Matcher is a two stage process.</p>
+
+<p>The first stage takes place during the Compiler’s construction,
+which is where the Query object meets a <a href="../../Lucy/Search/Searcher.html" class="podlinkpod"
+>Searcher</a> object for the first time.
+Searchers operate on a specific document collection and they can tell you certain statistical information about the collection – such as how many total documents are in the collection,
+or how many documents in the collection a particular term is present in.
+Lucy’s core Compiler classes plug this information into the classic TF/IDF weighting algorithm to adjust the Compiler’s weight; custom subclasses might do something similar.</p>
+
+<p>The second stage of compilation is <a href="#make_matcher" class="podlinkpod"
+>make_matcher()</a>,
+method,
+which is where the Compiler meets a <a href="../../Lucy/Index/SegReader.html" class="podlinkpod"
+>SegReader</a> object.
+SegReaders are associated with a single segment within a single index on a single machine,
+and are thus lower-level than Searchers,
+which may represent a document collection spread out over a search cluster (comprising several indexes and many segments).
+The Compiler object can use new information supplied by the SegReader – such as whether a term is missing from the local index even though it is present within the larger collection represented by the Searcher – when figuring out what to feed to the Matchers’s constructor,
+or whether <a href="#make_matcher" class="podlinkpod"
+>make_matcher()</a> should return a Matcher at all.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $compiler = MyCompiler->SUPER::new(
+ parent => $my_query,
+ searcher => $searcher,
+ similarity => $sim, # default: undef
+ boost => undef, # default: see below
+);</pre>
+
+<p>Abstract constructor.</p>
+
+<ul>
+<li><b>parent</b> - The parent Query.</li>
+
+<li><b>searcher</b> - A Lucy::Search::Searcher,
+such as an IndexSearcher.</li>
+
+<li><b>similarity</b> - A Similarity.</li>
+
+<li><b>boost</b> - An arbitrary scoring multiplier.
+Defaults to the boost of the parent Query.</li>
+</ul>
+
+<h2><a class='u'
+name="ABSTRACT_METHODS"
+>ABSTRACT METHODS</a></h2>
+
+<h3><a class='u'
+name="make_matcher"
+>make_matcher</a></h3>
+
+<pre>my $matcher = $compiler->make_matcher(
+ reader => $reader # required
+ need_score => $need_score # required
+);</pre>
+
+<p>Factory method returning a Matcher.</p>
+
+<ul>
+<li><b>reader</b> - A SegReader.</li>
+
+<li><b>need_score</b> - Indicate whether the Matcher must implement <a href="../../Lucy/Search/Matcher.html#score" class="podlinkpod"
+>score()</a>.</li>
+</ul>
+
+<p>Returns: a Matcher,
+or undef if the Matcher would have matched no documents.</p>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="get_weight"
+>get_weight</a></h3>
+
+<pre>my $float = $compiler->get_weight();</pre>
+
+<p>Return the Compiler’s numerical weight,
+a scoring multiplier.
+By default,
+returns the object’s boost.</p>
+
+<h3><a class='u'
+name="get_similarity"
+>get_similarity</a></h3>
+
+<pre>my $similarity = $compiler->get_similarity();</pre>
+
+<p>Accessor for the Compiler’s Similarity object.</p>
+
+<h3><a class='u'
+name="get_parent"
+>get_parent</a></h3>
+
+<pre>my $query = $compiler->get_parent();</pre>
+
+<p>Accessor for the Compiler’s parent Query object.</p>
+
+<h3><a class='u'
+name="sum_of_squared_weights"
+>sum_of_squared_weights</a></h3>
+
+<pre>my $float = $compiler->sum_of_squared_weights();</pre>
+
+<p>Compute and return a raw weighting factor.
+(This quantity is used by <a href="#normalize" class="podlinkpod"
+>normalize()</a>).
+By default,
+simply returns 1.0.</p>
+
+<h3><a class='u'
+name="apply_norm_factor"
+>apply_norm_factor</a></h3>
+
+<pre>$compiler->apply_norm_factor($factor);</pre>
+
+<p>Apply a floating point normalization multiplier.
+For a TermCompiler,
+this involves multiplying its own weight by the supplied factor; combining classes such as ORCompiler would apply the factor recursively to their children.</p>
+
+<p>The default implementation is a no-op; subclasses may wish to multiply their internal weight by the supplied factor.</p>
+
+<ul>
+<li><b>factor</b> - The multiplier.</li>
+</ul>
+
+<h3><a class='u'
+name="normalize"
+>normalize</a></h3>
+
+<pre>$compiler->normalize();</pre>
+
+<p>Take a newly minted Compiler object and apply query-specific normalization factors.
+Should be invoked by Query subclasses during <a href="../../Lucy/Search/Query.html#make_compiler" class="podlinkpod"
+>make_compiler()</a> for top-level nodes.</p>
+
+<p>For a TermQuery,
+the scoring formula is approximately:</p>
+
+<pre>(tf_d * idf_t / norm_d) * (tf_q * idf_t / norm_q)</pre>
+
+<p><a href="#normalize" class="podlinkpod"
+>normalize()</a> is theoretically concerned with applying the second half of that formula to a the Compiler’s weight.
+What actually happens depends on how the Compiler and Similarity methods called internally are implemented.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::Compiler isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Hits.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Hits.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Hits.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Hits.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,60 @@
+Title: Lucy::Search::Hits – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::Hits - Access search results.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $hits = $searcher->hits(
+ query => $query,
+ offset => 0,
+ num_wanted => 10,
+);
+while ( my $hit = $hits->next ) {
+ print "<p>$hit->{title} <em>" . $hit->get_score . "</em></p>\n";
+}</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>Hits objects are iterators used to access the results of a search.</p>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="next"
+>next</a></h3>
+
+<pre>my $hit_doc = $hits->next();</pre>
+
+<p>Return the next hit,
+or undef when the iterator is exhausted.</p>
+
+<h3><a class='u'
+name="total_hits"
+>total_hits</a></h3>
+
+<pre>my $int = $hits->total_hits();</pre>
+
+<p>Return the total number of documents which matched the Query used to produce the Hits object.
+Note that this is the total number of matches,
+not just the number of matches represented by the Hits iterator.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::Hits isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/IndexSearcher.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/IndexSearcher.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/IndexSearcher.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/IndexSearcher.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,137 @@
+Title: Lucy::Search::IndexSearcher – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::IndexSearcher - Execute searches against a single index.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $searcher = Lucy::Search::IndexSearcher->new(
+ index => '/path/to/index'
+);
+my $hits = $searcher->hits(
+ query => 'foo bar',
+ offset => 0,
+ num_wanted => 100,
+);</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>Use the IndexSearcher class to perform search queries against an index.
+(For searching multiple indexes at once,
+see <a href="../../Lucy/Search/PolySearcher.html" class="podlinkpod"
+>PolySearcher</a>).</p>
+
+<p>IndexSearchers operate against a single point-in-time view or <a href="../../Lucy/Index/Snapshot.html" class="podlinkpod"
+>Snapshot</a> of the index.
+If an index is modified,
+a new IndexSearcher must be opened to access the changes.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $searcher = Lucy::Search::IndexSearcher->new(
+ index => '/path/to/index'
+);</pre>
+
+<p>Create a new IndexSearcher.</p>
+
+<ul>
+<li><b>index</b> - Either a string filepath,
+a Folder,
+or an IndexReader.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="doc_max"
+>doc_max</a></h3>
+
+<pre>my $int = $index_searcher->doc_max();</pre>
+
+<p>Return the maximum number of docs in the collection represented by the Searcher,
+which is also the highest possible internal doc id.
+Documents which have been marked as deleted but not yet purged are included in this count.</p>
+
+<h3><a class='u'
+name="doc_freq"
+>doc_freq</a></h3>
+
+<pre>my $int = $index_searcher->doc_freq(
+ field => $field # required
+ term => $term # required
+);</pre>
+
+<p>Return the number of documents which contain the term in the given field.</p>
+
+<ul>
+<li><b>field</b> - Field name.</li>
+
+<li><b>term</b> - The term to look up.</li>
+</ul>
+
+<h3><a class='u'
+name="collect"
+>collect</a></h3>
+
+<pre>$index_searcher->collect(
+ query => $query # required
+ collector => $collector # required
+);</pre>
+
+<p>Iterate over hits,
+feeding them into a <a href="../../Lucy/Search/Collector.html" class="podlinkpod"
+>Collector</a>.</p>
+
+<ul>
+<li><b>query</b> - A Query.</li>
+
+<li><b>collector</b> - A Collector.</li>
+</ul>
+
+<h3><a class='u'
+name="fetch_doc"
+>fetch_doc</a></h3>
+
+<pre>my $hit_doc = $index_searcher->fetch_doc($doc_id);</pre>
+
+<p>Retrieve a document.
+Throws an error if the doc id is out of range.</p>
+
+<ul>
+<li><b>doc_id</b> - A document id.</li>
+</ul>
+
+<h3><a class='u'
+name="get_reader"
+>get_reader</a></h3>
+
+<pre>my $index_reader = $index_searcher->get_reader();</pre>
+
+<p>Accessor for the object’s <code>reader</code> member.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::IndexSearcher isa <a href="../../Lucy/Search/Searcher.html" class="podlinkpod"
+>Lucy::Search::Searcher</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/LeafQuery.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/LeafQuery.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/LeafQuery.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/LeafQuery.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,106 @@
+Title: Lucy::Search::LeafQuery – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::LeafQuery - Leaf node in a tree created by QueryParser.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>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);
+ }
+}</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>LeafQuery objects serve as leaf nodes in the tree structure generated by <a href="../../Lucy/Search/QueryParser.html" class="podlinkpod"
+>QueryParser</a>’s <a href="../../Lucy/Search/QueryParser.html#tree" class="podlinkpod"
+>tree()</a> method.
+Ultimately,
+they must be transformed,
+typically into either <a href="../../Lucy/Search/TermQuery.html" class="podlinkpod"
+>TermQuery</a> or <a href="../../Lucy/Search/PhraseQuery.html" class="podlinkpod"
+>PhraseQuery</a> objects,
+as attempting to search a LeafQuery causes an error.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $leaf_query = Lucy::Search::LeafQuery->new(
+ text => '"three blind mice"', # required
+ field => 'content', # default: undef
+);</pre>
+
+<p>Create a new LeafQuery.</p>
+
+<ul>
+<li><b>field</b> - Optional field name.</li>
+
+<li><b>text</b> - Raw query text.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="get_field"
+>get_field</a></h3>
+
+<pre>my $string = $leaf_query->get_field();</pre>
+
+<p>Accessor for object’s <code>field</code> attribute.</p>
+
+<h3><a class='u'
+name="get_text"
+>get_text</a></h3>
+
+<pre>my $string = $leaf_query->get_text();</pre>
+
+<p>Accessor for object’s <code>text</code> attribute.</p>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $leaf_query->make_compiler(
+ searcher => $searcher # required
+ boost => $boost # required
+ subordinate => $subordinate # default: false
+);</pre>
+
+<p>Throws an error.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::LeafQuery isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/MatchAllQuery.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/MatchAllQuery.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/MatchAllQuery.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/MatchAllQuery.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,68 @@
+Title: Lucy::Search::MatchAllQuery – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::MatchAllQuery - Query which matches all documents.</p>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>MatchAllQuery is a utility class which matches all documents.
+Each match is assigned a score of 0.0,
+so that in composite queries,
+any document which matches against another part of the query will be ranked higher than a document which matches only via the MatchAllQuery.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $match_all_query = Lucy::Search::MatchAllQuery->new;</pre>
+
+<p>Constructor.
+Takes no arguments.</p>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $match_all_query->make_compiler(
+ searcher => $searcher # required
+ boost => $boost # required
+ subordinate => $subordinate # default: false
+);</pre>
+
+<p>Abstract factory method returning a Compiler derived from this Query.</p>
+
+<ul>
+<li><b>searcher</b> - A Searcher.</li>
+
+<li><b>boost</b> - A scoring multiplier.</li>
+
+<li><b>subordinate</b> - Indicates whether the Query is a subquery (as opposed to a top-level query).
+If false,
+the implementation must invoke <a href="../../Lucy/Search/Compiler.html#normalize" class="podlinkpod"
+>normalize()</a> on the newly minted Compiler object before returning it.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::MatchAllQuery isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Matcher.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Matcher.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Matcher.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Matcher.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,105 @@
+Title: Lucy::Search::Matcher – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::Matcher - Match a set of document ids.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre># abstract base class</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>A Matcher iterates over a set of ascending document ids.
+Some Matchers implement <a href="#score" class="podlinkpod"
+>score()</a> and can assign relevance scores to the docs that they match.
+Other implementations may be match-only.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $matcher = MyMatcher->SUPER::new;</pre>
+
+<p>Abstract constructor.</p>
+
+<h2><a class='u'
+name="ABSTRACT_METHODS"
+>ABSTRACT METHODS</a></h2>
+
+<h3><a class='u'
+name="next"
+>next</a></h3>
+
+<pre>my $int = $matcher->next();</pre>
+
+<p>Proceed to the next doc id.</p>
+
+<p>Returns: A positive doc id,
+or 0 once the iterator is exhausted.</p>
+
+<h3><a class='u'
+name="get_doc_id"
+>get_doc_id</a></h3>
+
+<pre>my $int = $matcher->get_doc_id();</pre>
+
+<p>Return the current doc id.
+Valid only after a successful call to <a href="#next" class="podlinkpod"
+>next()</a> or <a href="#advance" class="podlinkpod"
+>advance()</a> and must not be called otherwise.</p>
+
+<h3><a class='u'
+name="score"
+>score</a></h3>
+
+<pre>my $float = $matcher->score();</pre>
+
+<p>Return the score of the current document.</p>
+
+<p>Only Matchers which are used for scored search need implement <a href="#score" class="podlinkpod"
+>score()</a>.</p>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="advance"
+>advance</a></h3>
+
+<pre>my $int = $matcher->advance($target);</pre>
+
+<p>Advance the iterator to the first doc id greater than or equal to <code>target</code>.
+The default implementation simply calls <a href="#next" class="podlinkpod"
+>next()</a> over and over,
+but subclasses have the option of doing something more efficient.</p>
+
+<ul>
+<li><b>target</b> - A positive doc id,
+which must be greater than the current doc id once the iterator has been initialized.</li>
+</ul>
+
+<p>Returns: A positive doc id,
+or 0 once the iterator is exhausted.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::Matcher isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/NOTQuery.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/NOTQuery.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/NOTQuery.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/NOTQuery.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,105 @@
+Title: Lucy::Search::NOTQuery – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::NOTQuery - Invert the result set of another Query.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>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 );
+...</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>A NOTQuery wraps another <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Query</a> and matches against its inverse document set.
+All matching docs recieve a score of 0.0.</p>
+
+<p>NOTQuery is often used in conjunction with <a href="../../Lucy/Search/ANDQuery.html" class="podlinkpod"
+>ANDQuery</a> to provide “a AND NOT b” semantics.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $not_query = Lucy::Search::NOTQuery->new(
+ negated_query => $query,
+);</pre>
+
+<p>Create a new NOTQuery.</p>
+
+<ul>
+<li><b>negated_query</b> - The Query whose result set should be inverted.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="get_negated_query"
+>get_negated_query</a></h3>
+
+<pre>my $query = $not_query->get_negated_query();</pre>
+
+<p>Accessor for the object’s negated query.</p>
+
+<h3><a class='u'
+name="set_negated_query"
+>set_negated_query</a></h3>
+
+<pre>$not_query->set_negated_query($negated_query);</pre>
+
+<p>Setter for the object’s negated query.</p>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $not_query->make_compiler(
+ searcher => $searcher # required
+ boost => $boost # required
+ subordinate => $subordinate # default: false
+);</pre>
+
+<p>Abstract factory method returning a Compiler derived from this Query.</p>
+
+<ul>
+<li><b>searcher</b> - A Searcher.</li>
+
+<li><b>boost</b> - A scoring multiplier.</li>
+
+<li><b>subordinate</b> - Indicates whether the Query is a subquery (as opposed to a top-level query).
+If false,
+the implementation must invoke <a href="../../Lucy/Search/Compiler.html#normalize" class="podlinkpod"
+>normalize()</a> on the newly minted Compiler object before returning it.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::NOTQuery isa <a href="../../Lucy/Search/PolyQuery.html" class="podlinkpod"
+>Lucy::Search::PolyQuery</a> isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/NoMatchQuery.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/NoMatchQuery.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/NoMatchQuery.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/NoMatchQuery.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,68 @@
+Title: Lucy::Search::NoMatchQuery – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::NoMatchQuery - Query which matches no documents.</p>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>NoMatchQuery is a utility class representing a query which matches nothing.
+Typical usage might include e.g.
+returning a NoMatchQuery when a <a href="../../Lucy/Search/QueryParser.html" class="podlinkpod"
+>QueryParser</a> is asked to parse an empty string.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $no_match_query = Lucy::Search::NoMatchQuery->new;</pre>
+
+<p>Constructor.
+Takes no arguments.</p>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $no_match_query->make_compiler(
+ searcher => $searcher # required
+ boost => $boost # required
+ subordinate => $subordinate # default: false
+);</pre>
+
+<p>Abstract factory method returning a Compiler derived from this Query.</p>
+
+<ul>
+<li><b>searcher</b> - A Searcher.</li>
+
+<li><b>boost</b> - A scoring multiplier.</li>
+
+<li><b>subordinate</b> - Indicates whether the Query is a subquery (as opposed to a top-level query).
+If false,
+the implementation must invoke <a href="../../Lucy/Search/Compiler.html#normalize" class="podlinkpod"
+>normalize()</a> on the newly minted Compiler object before returning it.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::NoMatchQuery isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/ORQuery.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/ORQuery.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/ORQuery.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/ORQuery.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,84 @@
+Title: Lucy::Search::ORQuery – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::ORQuery - Union multiple result sets.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $foo_or_bar_query = Lucy::Search::ORQuery->new(
+ children => [ $foo_query, $bar_query ],
+);
+my $hits = $searcher->hits( query => $foo_or_bar_query );
+...</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>ORQuery is a composite <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Query</a> which matches when any of its children match,
+so its result set is the union of their result sets.
+Matching documents recieve a summed score from all matching child Queries.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $foo_or_bar_query = Lucy::Search::ORQuery->new(
+ children => [ $foo_query, $bar_query ],
+);</pre>
+
+<p>Create a new ORQuery.</p>
+
+<ul>
+<li><b>children</b> - An array of child Queries.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $or_query->make_compiler(
+ searcher => $searcher # required
+ boost => $boost # required
+ subordinate => $subordinate # default: false
+);</pre>
+
+<p>Abstract factory method returning a Compiler derived from this Query.</p>
+
+<ul>
+<li><b>searcher</b> - A Searcher.</li>
+
+<li><b>boost</b> - A scoring multiplier.</li>
+
+<li><b>subordinate</b> - Indicates whether the Query is a subquery (as opposed to a top-level query).
+If false,
+the implementation must invoke <a href="../../Lucy/Search/Compiler.html#normalize" class="podlinkpod"
+>normalize()</a> on the newly minted Compiler object before returning it.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::ORQuery isa <a href="../../Lucy/Search/PolyQuery.html" class="podlinkpod"
+>Lucy::Search::PolyQuery</a> isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PhraseQuery.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PhraseQuery.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PhraseQuery.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PhraseQuery.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,100 @@
+Title: Lucy::Search::PhraseQuery – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::PhraseQuery - Query matching an ordered list of terms.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $phrase_query = Lucy::Search::PhraseQuery->new(
+ field => 'content',
+ terms => [qw( the who )],
+);
+my $hits = $searcher->hits( query => $phrase_query );</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>PhraseQuery is a subclass of <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Query</a> for matching against an ordered sequence of terms.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $phrase_query = Lucy::Search::PhraseQuery->new(
+ field => $field # required
+ terms => $terms # required
+);</pre>
+
+<p>Create a new PhraseQuery.</p>
+
+<ul>
+<li><b>field</b> - The field that the phrase must occur in.</li>
+
+<li><b>terms</b> - The ordered array of terms that must match.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="get_field"
+>get_field</a></h3>
+
+<pre>my $string = $phrase_query->get_field();</pre>
+
+<p>Accessor for object’s field attribute.</p>
+
+<h3><a class='u'
+name="get_terms"
+>get_terms</a></h3>
+
+<pre>my $arrayref = $phrase_query->get_terms();</pre>
+
+<p>Accessor for object’s array of terms.</p>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $phrase_query->make_compiler(
+ searcher => $searcher # required
+ boost => $boost # required
+ subordinate => $subordinate # default: false
+);</pre>
+
+<p>Abstract factory method returning a Compiler derived from this Query.</p>
+
+<ul>
+<li><b>searcher</b> - A Searcher.</li>
+
+<li><b>boost</b> - A scoring multiplier.</li>
+
+<li><b>subordinate</b> - Indicates whether the Query is a subquery (as opposed to a top-level query).
+If false,
+the implementation must invoke <a href="../../Lucy/Search/Compiler.html#normalize" class="podlinkpod"
+>normalize()</a> on the newly minted Compiler object before returning it.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::PhraseQuery isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PolyQuery.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PolyQuery.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PolyQuery.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PolyQuery.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,62 @@
+Title: Lucy::Search::PolyQuery – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::PolyQuery - Base class for composite Query objects.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>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 { ... }
+}</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>PolyQuery serves as a shared base class for <a href="../../Lucy/Search/ANDQuery.html" class="podlinkpod"
+>ANDQuery</a>,
+<a href="../../Lucy/Search/ORQuery.html" class="podlinkpod"
+>ORQuery</a>,
+<a href="../../Lucy/Search/NOTQuery.html" class="podlinkpod"
+>NOTQuery</a>,
+and <a href="../../Lucy/Search/RequiredOptionalQuery.html" class="podlinkpod"
+>RequiredOptionalQuery</a>.
+All of these classes may serve as nodes in composite Query with a tree structure which may be walked.</p>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="add_child"
+>add_child</a></h3>
+
+<pre>$poly_query->add_child($query);</pre>
+
+<p>Add a child Query node.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::PolyQuery isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PolySearcher.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PolySearcher.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PolySearcher.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/PolySearcher.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,123 @@
+Title: Lucy::Search::PolySearcher – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::PolySearcher - Aggregate results from multiple Searchers.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $schema = MySchema->new;
+for my $index (@index_paths) {
+ push @searchers, Lucy::Search::IndexSearcher->new( index => $index );
+}
+my $poly_searcher = Lucy::Search::PolySearcher->new(
+ schema => $schema,
+ searchers => \@searchers,
+);
+my $hits = $poly_searcher->hits( query => $query );</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>The primary use for PolySearcher is to aggregate results from several indexes on a single machine.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $poly_searcher = Lucy::Search::PolySearcher->new(
+ schema => $schema,
+ searchers => \@searchers,
+);</pre>
+
+<p>Create a new PolySearcher.</p>
+
+<ul>
+<li><b>schema</b> - A Schema.</li>
+
+<li><b>searchers</b> - An array of Searchers.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="doc_max"
+>doc_max</a></h3>
+
+<pre>my $int = $poly_searcher->doc_max();</pre>
+
+<p>Return the maximum number of docs in the collection represented by the Searcher,
+which is also the highest possible internal doc id.
+Documents which have been marked as deleted but not yet purged are included in this count.</p>
+
+<h3><a class='u'
+name="doc_freq"
+>doc_freq</a></h3>
+
+<pre>my $int = $poly_searcher->doc_freq(
+ field => $field # required
+ term => $term # required
+);</pre>
+
+<p>Return the number of documents which contain the term in the given field.</p>
+
+<ul>
+<li><b>field</b> - Field name.</li>
+
+<li><b>term</b> - The term to look up.</li>
+</ul>
+
+<h3><a class='u'
+name="collect"
+>collect</a></h3>
+
+<pre>$poly_searcher->collect(
+ query => $query # required
+ collector => $collector # required
+);</pre>
+
+<p>Iterate over hits,
+feeding them into a <a href="../../Lucy/Search/Collector.html" class="podlinkpod"
+>Collector</a>.</p>
+
+<ul>
+<li><b>query</b> - A Query.</li>
+
+<li><b>collector</b> - A Collector.</li>
+</ul>
+
+<h3><a class='u'
+name="fetch_doc"
+>fetch_doc</a></h3>
+
+<pre>my $hit_doc = $poly_searcher->fetch_doc($doc_id);</pre>
+
+<p>Retrieve a document.
+Throws an error if the doc id is out of range.</p>
+
+<ul>
+<li><b>doc_id</b> - A document id.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::PolySearcher isa <a href="../../Lucy/Search/Searcher.html" class="podlinkpod"
+>Lucy::Search::Searcher</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Query.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Query.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Query.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Query.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,138 @@
+Title: Lucy::Search::Query – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::Query - A specification for a search query.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre># Query is an abstract base class.
+package MyQuery;
+use base qw( Lucy::Search::Query );
+
+sub make_compiler {
+ my ( $self, %args ) = @_;
+ my $subordinate = delete $args{subordinate};
+ my $compiler = MyCompiler->new( %args, parent => $self );
+ $compiler->normalize unless $subordinate;
+ return $compiler;
+}
+
+package MyCompiler;
+use base ( Lucy::Search::Compiler );
+...</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>Query objects are simple containers which contain the minimum information necessary to define a search query.</p>
+
+<p>The most common way to generate Query objects is to feed a search string such as ‘foo AND bar’ to a <a href="../../Lucy/Search/QueryParser.html" class="podlinkpod"
+>QueryParser’s</a> <a href="../../Lucy/Search/QueryParser.html#parse" class="podlinkpod"
+>parse()</a> method,
+which outputs an abstract syntax tree built up from various Query subclasses such as <a href="../../Lucy/Search/ANDQuery.html" class="podlinkpod"
+>ANDQuery</a> and <a href="../../Lucy/Search/TermQuery.html" class="podlinkpod"
+>TermQuery</a>.
+However,
+it is also possible to use custom Query objects to build a search specification which cannot be easily represented using a search string.</p>
+
+<p>Subclasses of Query must implement <a href="#make_compiler" class="podlinkpod"
+>make_compiler()</a>,
+which is the first step in compiling a Query down to a <a href="../../Lucy/Search/Matcher.html" class="podlinkpod"
+>Matcher</a> which can actually match and score documents.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $query = MyQuery->SUPER::new(
+ boost => 2.5,
+);</pre>
+
+<p>Abstract constructor.</p>
+
+<ul>
+<li><b>boost</b> - A scoring multiplier,
+affecting the Query's relative contribution to each document's score.
+Typically defaults to 1.0,
+but subclasses which do not contribute to document scores such as NOTQuery and MatchAllQuery default to 0.0 instead.</li>
+</ul>
+
+<h2><a class='u'
+name="ABSTRACT_METHODS"
+>ABSTRACT METHODS</a></h2>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $query->make_compiler(
+ searcher => $searcher # required
+ boost => $boost # required
+ subordinate => $subordinate # default: false
+);</pre>
+
+<p>Abstract factory method returning a Compiler derived from this Query.</p>
+
+<ul>
+<li><b>searcher</b> - A Searcher.</li>
+
+<li><b>boost</b> - A scoring multiplier.</li>
+
+<li><b>subordinate</b> - Indicates whether the Query is a subquery (as opposed to a top-level query).
+If false,
+the implementation must invoke <a href="../../Lucy/Search/Compiler.html#normalize" class="podlinkpod"
+>normalize()</a> on the newly minted Compiler object before returning it.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="set_boost"
+>set_boost</a></h3>
+
+<pre>$query->set_boost($boost);</pre>
+
+<p>Set the Query’s boost.</p>
+
+<h3><a class='u'
+name="get_boost"
+>get_boost</a></h3>
+
+<pre>my $float = $query->get_boost();</pre>
+
+<p>Get the Query’s boost.</p>
+
+<h3><a class='u'
+name="dump"
+>dump</a></h3>
+
+<pre>my $obj = $query->dump();</pre>
+
+<h3><a class='u'
+name="load"
+>load</a></h3>
+
+<pre>my $obj = $query->load($dump);</pre>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::Query isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/QueryParser.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/QueryParser.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/QueryParser.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/QueryParser.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,344 @@
+Title: Lucy::Search::QueryParser – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::QueryParser - Transform a string into a Query object.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $query_parser = Lucy::Search::QueryParser->new(
+ schema => $searcher->get_schema,
+ fields => ['body'],
+);
+my $query = $query_parser->parse( $query_string );
+my $hits = $searcher->hits( query => $query );</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>QueryParser accepts search strings as input and produces <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Query</a> objects,
+suitable for feeding into <a href="../../Lucy/Search/IndexSearcher.html" class="podlinkpod"
+>IndexSearcher</a> and other <a href="../../Lucy/Search/Searcher.html" class="podlinkpod"
+>Searcher</a> subclasses.</p>
+
+<p>The following syntactical constructs are recognized by QueryParser:</p>
+
+<ul>
+<li>Boolean operators ‘AND’,
+‘OR’,
+and ‘AND NOT’.</li>
+
+<li>Prepented +plus and -minus,
+indicating that the labeled entity should be either required or forbidden – be it a single word,
+a phrase,
+or a parenthetical group.</li>
+
+<li>Logical groups,
+delimited by parentheses.</li>
+
+<li>Phrases,
+delimited by double quotes.</li>
+</ul>
+
+<p>Additionally,
+the following syntax can be enabled via <a href="#set_heed_colons" class="podlinkpod"
+>set_heed_colons()</a>:</p>
+
+<ul>
+<li>Field-specific constructs,
+in the form of ‘fieldname:termtext’ or ‘fieldname:(foo bar)’.
+(The field specified by ‘fieldname:’ will be used instead of the QueryParser’s default fields).</li>
+</ul>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $query_parser = Lucy::Search::QueryParser->new(
+ schema => $searcher->get_schema, # required
+ analyzer => $analyzer, # overrides schema
+ fields => ['bodytext'], # default: indexed fields
+ default_boolop => 'AND', # default: 'OR'
+);</pre>
+
+<p>Constructor.</p>
+
+<ul>
+<li><b>schema</b> - A <a href="../../Lucy/Plan/Schema.html" class="podlinkpod"
+>Schema</a>.</li>
+
+<li><b>analyzer</b> - An <a href="../../Lucy/Analysis/Analyzer.html" class="podlinkpod"
+>Analyzer</a>.
+Ordinarily,
+the analyzers specified by each field’s definition will be used,
+but if <code>analyzer</code> is supplied,
+it will override and be used for all fields.
+This can lead to mismatches between what is in the index and what is being searched for,
+so use caution.</li>
+
+<li><b>fields</b> - The names of the fields which will be searched against.
+Defaults to those fields which are defined as indexed in the supplied Schema.</li>
+
+<li><b>default_boolop</b> - Two possible values: ‘AND’ and ‘OR’.
+The default is ‘OR’,
+which means: return documents which match any of the query terms.
+If you want only documents which match all of the query terms,
+set this to ‘AND’.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="parse"
+>parse</a></h3>
+
+<pre>my $query = $query_parser->parse($query_string);
+my $query = $query_parser->parse(); # default: undef</pre>
+
+<p>Build a Query object from the contents of a query string.
+At present,
+implemented internally by calling <a href="#tree" class="podlinkpod"
+>tree()</a>,
+<a href="#expand" class="podlinkpod"
+>expand()</a>,
+and <a href="#prune" class="podlinkpod"
+>prune()</a>.</p>
+
+<ul>
+<li><b>query_string</b> - The string to be parsed.
+May be undef.</li>
+</ul>
+
+<p>Returns: a Query.</p>
+
+<h3><a class='u'
+name="tree"
+>tree</a></h3>
+
+<pre>my $query = $query_parser->tree($query_string);</pre>
+
+<p>Parse the logical structure of a query string,
+building a tree comprised of Query objects.
+Leaf nodes in the tree will most often be LeafQuery objects but might be MatchAllQuery or NoMatchQuery objects as well.
+Internal nodes will be objects which subclass PolyQuery: ANDQuery,
+ORQuery,
+NOTQuery,
+and RequiredOptionalQuery.</p>
+
+<p>The output of <a href="#tree" class="podlinkpod"
+>tree()</a> is an intermediate form which must be passed through <a href="#expand" class="podlinkpod"
+>expand()</a> before being used to feed a search.</p>
+
+<ul>
+<li><b>query_string</b> - The string to be parsed.</li>
+</ul>
+
+<p>Returns: a Query.</p>
+
+<h3><a class='u'
+name="expand"
+>expand</a></h3>
+
+<pre>my $query = $query_parser->expand($query);</pre>
+
+<p>Walk the hierarchy of a Query tree,
+descending through all PolyQuery nodes and calling <a href="#expand_leaf" class="podlinkpod"
+>expand_leaf()</a> on any LeafQuery nodes encountered.</p>
+
+<ul>
+<li><b>query</b> - A Query object.</li>
+</ul>
+
+<p>Returns: A Query – usually the same one that was supplied after in-place modification,
+but possibly another.</p>
+
+<h3><a class='u'
+name="expand_leaf"
+>expand_leaf</a></h3>
+
+<pre>my $query = $query_parser->expand_leaf($query);</pre>
+
+<p>Convert a LeafQuery into either a TermQuery,
+a PhraseQuery,
+or an ORQuery joining multiple TermQueries/PhraseQueries to accommodate multiple fields.
+LeafQuery text will be passed through the relevant Analyzer for each field.
+Quoted text will be transformed into PhraseQuery objects.
+Unquoted text will be converted to either a TermQuery or a PhraseQuery depending on how many tokens are generated.</p>
+
+<ul>
+<li><b>query</b> - A Query.
+Only LeafQuery objects will be processed; others will be passed through.</li>
+</ul>
+
+<p>Returns: A Query.</p>
+
+<h3><a class='u'
+name="prune"
+>prune</a></h3>
+
+<pre>my $query = $query_parser->prune($query);
+my $query = $query_parser->prune(); # default: undef</pre>
+
+<p>Prevent certain Query structures from returning too many results.
+Query objects built via <a href="#tree" class="podlinkpod"
+>tree()</a> and <a href="#expand" class="podlinkpod"
+>expand()</a> can generate “return the world” result sets,
+such as in the case of <code>NOT a_term_not_in_the_index</code>; <a href="#prune" class="podlinkpod"
+>prune()</a> walks the hierarchy and eliminates such branches.</p>
+
+<pre> 'NOT foo' => [NOMATCH]
+ 'foo OR NOT bar' => 'foo'
+ 'foo OR (-bar AND -baz) => 'foo'</pre>
+
+<p><a href="#prune" class="podlinkpod"
+>prune()</a> also eliminates some double-negative constructs – even though such constructs may not actually return the world:</p>
+
+<pre> 'foo AND -(-bar)' => 'foo'</pre>
+
+<p>In this example,
+safety is taking precedence over logical consistency.
+If you want logical consistency instead,
+call <a href="#tree" class="podlinkpod"
+>tree()</a> then <a href="#expand" class="podlinkpod"
+>expand()</a>,
+skipping <a href="#prune" class="podlinkpod"
+>prune()</a>.</p>
+
+<ul>
+<li><b>query</b> - A Query.</li>
+</ul>
+
+<p>Returns: a Query; in most cases,
+the supplied Query after in-place modification.</p>
+
+<h3><a class='u'
+name="make_term_query"
+>make_term_query</a></h3>
+
+<pre>my $query = $query_parser->make_term_query(
+ field => $field # required
+ term => $term # required
+);</pre>
+
+<p>Factory method creating a TermQuery.</p>
+
+<ul>
+<li><b>field</b> - Field name.</li>
+
+<li><b>term</b> - Term text.</li>
+</ul>
+
+<p>Returns: A Query.</p>
+
+<h3><a class='u'
+name="make_phrase_query"
+>make_phrase_query</a></h3>
+
+<pre>my $query = $query_parser->make_phrase_query(
+ field => $field # required
+ terms => $terms # required
+);</pre>
+
+<p>Factory method creating a PhraseQuery.</p>
+
+<ul>
+<li><b>field</b> - Field that the phrase must occur in.</li>
+
+<li><b>terms</b> - Ordered array of terms that must match.</li>
+</ul>
+
+<p>Returns: A Query.</p>
+
+<h3><a class='u'
+name="make_or_query"
+>make_or_query</a></h3>
+
+<pre>my $query = $query_parser->make_or_query($children);
+my $query = $query_parser->make_or_query(); # default: undef</pre>
+
+<p>Factory method creating an ORQuery.</p>
+
+<ul>
+<li><b>children</b> - Array of child Queries.</li>
+</ul>
+
+<p>Returns: A Query.</p>
+
+<h3><a class='u'
+name="make_and_query"
+>make_and_query</a></h3>
+
+<pre>my $query = $query_parser->make_and_query($children);
+my $query = $query_parser->make_and_query(); # default: undef</pre>
+
+<p>Factory method creating an ANDQuery.</p>
+
+<ul>
+<li><b>children</b> - Array of child Queries.</li>
+</ul>
+
+<p>Returns: A Query.</p>
+
+<h3><a class='u'
+name="make_not_query"
+>make_not_query</a></h3>
+
+<pre>my $query = $query_parser->make_not_query($negated_query);</pre>
+
+<p>Factory method creating a NOTQuery.</p>
+
+<ul>
+<li><b>negated_query</b> - Query to be inverted.</li>
+</ul>
+
+<p>Returns: A Query.</p>
+
+<h3><a class='u'
+name="make_req_opt_query"
+>make_req_opt_query</a></h3>
+
+<pre>my $query = $query_parser->make_req_opt_query(
+ required_query => $required_query # required
+ optional_query => $optional_query # required
+);</pre>
+
+<p>Factory method creating a RequiredOptionalQuery.</p>
+
+<ul>
+<li><b>required_query</b> - Query must must match.</li>
+
+<li><b>optional_query</b> - Query which should match.</li>
+</ul>
+
+<p>Returns: A Query.</p>
+
+<h3><a class='u'
+name="set_heed_colons"
+>set_heed_colons</a></h3>
+
+<pre>$query_parser->set_heed_colons($heed_colons);</pre>
+
+<p>Enable/disable parsing of <code>fieldname:foo</code> constructs.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::QueryParser isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/RangeQuery.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/RangeQuery.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/RangeQuery.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/RangeQuery.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,109 @@
+Title: Lucy::Search::RangeQuery – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::RangeQuery - Match a range of values.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre># Match all articles by "Foo" published since the year 2000.
+my $range_query = Lucy::Search::RangeQuery->new(
+ field => 'publication_date',
+ lower_term => '2000-01-01',
+ include_lower => 1,
+);
+my $author_query = Lucy::Search::TermQuery->new(
+ field => 'author_last_name',
+ text => 'Foo',
+);
+my $and_query = Lucy::Search::ANDQuery->new(
+ children => [ $range_query, $author_query ],
+);
+my $hits = $searcher->hits( query => $and_query );
+...</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>RangeQuery matches documents where the value for a particular field falls within a given range.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $range_query = Lucy::Search::RangeQuery->new(
+ field => 'product_number', # required
+ lower_term => '003', # see below
+ upper_term => '060', # see below
+ include_lower => 0, # default true
+ include_upper => 0, # default true
+);</pre>
+
+<p>Create a new RangeQuery.</p>
+
+<p>Takes 5 parameters; <code>field</code> is required,
+as is at least one of either <code>lower_term</code> or <code>upper_term</code>.</p>
+
+<ul>
+<li><b>field</b> - The name of a <code>sortable</code> field.</li>
+
+<li><b>lower_term</b> - Lower delimiter.
+If not supplied,
+all values less than <code>upper_term</code> will pass.</li>
+
+<li><b>upper_term</b> - Upper delimiter.
+If not supplied,
+all values greater than <code>lower_term</code> will pass.</li>
+
+<li><b>include_lower</b> - Indicates whether docs which match <code>lower_term</code> should be included in the results.</li>
+
+<li><b>include_upper</b> - Indicates whether docs which match <code>upper_term</code> should be included in the results.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $range_query->make_compiler(
+ searcher => $searcher # required
+ boost => $boost # required
+ subordinate => $subordinate # default: false
+);</pre>
+
+<p>Abstract factory method returning a Compiler derived from this Query.</p>
+
+<ul>
+<li><b>searcher</b> - A Searcher.</li>
+
+<li><b>boost</b> - A scoring multiplier.</li>
+
+<li><b>subordinate</b> - Indicates whether the Query is a subquery (as opposed to a top-level query).
+If false,
+the implementation must invoke <a href="../../Lucy/Search/Compiler.html#normalize" class="podlinkpod"
+>normalize()</a> on the newly minted Compiler object before returning it.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::RangeQuery isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/RequiredOptionalQuery.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/RequiredOptionalQuery.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/RequiredOptionalQuery.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/RequiredOptionalQuery.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,123 @@
+Title: Lucy::Search::RequiredOptionalQuery – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::RequiredOptionalQuery - Join results for two Queries,
+one required,
+one optional.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $foo_and_maybe_bar = Lucy::Search::RequiredOptionalQuery->new(
+ required_query => $foo_query,
+ optional_query => $bar_query,
+);
+my $hits = $searcher->hits( query => $foo_and_maybe_bar );
+...</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>RequiredOptionalQuery joins the result sets of one Query which MUST match,
+and one Query which SHOULD match.
+When only the required Query matches,
+its score is passed along; when both match,
+the scores are summed.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $reqopt_query = Lucy::Search::RequiredOptionalQuery->new(
+ required_query => $foo_query, # required
+ optional_query => $bar_query, # required
+);</pre>
+
+<p>Create a new RequiredOptionalQuery.</p>
+
+<ul>
+<li><b>required_query</b> - Query must must match.</li>
+
+<li><b>optional_query</b> - Query which should match.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="get_required_query"
+>get_required_query</a></h3>
+
+<pre>my $query = $required_optional_query->get_required_query();</pre>
+
+<p>Getter for the required Query.</p>
+
+<h3><a class='u'
+name="set_required_query"
+>set_required_query</a></h3>
+
+<pre>$required_optional_query->set_required_query($required_query);</pre>
+
+<p>Setter for the required Query.</p>
+
+<h3><a class='u'
+name="get_optional_query"
+>get_optional_query</a></h3>
+
+<pre>my $query = $required_optional_query->get_optional_query();</pre>
+
+<p>Getter for the optional Query.</p>
+
+<h3><a class='u'
+name="set_optional_query"
+>set_optional_query</a></h3>
+
+<pre>$required_optional_query->set_optional_query($optional_query);</pre>
+
+<p>Setter for the optional Query.</p>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $required_optional_query->make_compiler(
+ searcher => $searcher # required
+ boost => $boost # required
+ subordinate => $subordinate # default: false
+);</pre>
+
+<p>Abstract factory method returning a Compiler derived from this Query.</p>
+
+<ul>
+<li><b>searcher</b> - A Searcher.</li>
+
+<li><b>boost</b> - A scoring multiplier.</li>
+
+<li><b>subordinate</b> - Indicates whether the Query is a subquery (as opposed to a top-level query).
+If false,
+the implementation must invoke <a href="../../Lucy/Search/Compiler.html#normalize" class="podlinkpod"
+>normalize()</a> on the newly minted Compiler object before returning it.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::RequiredOptionalQuery isa <a href="../../Lucy/Search/PolyQuery.html" class="podlinkpod"
+>Lucy::Search::PolyQuery</a> isa <a href="../../Lucy/Search/Query.html" class="podlinkpod"
+>Lucy::Search::Query</a> isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Searcher.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Searcher.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Searcher.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/Searcher.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,169 @@
+Title: Lucy::Search::Searcher – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::Searcher - Base class for searching collections of documents.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre># Abstract base class.</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>Abstract base class for objects which search.
+Core subclasses include <a href="../../Lucy/Search/IndexSearcher.html" class="podlinkpod"
+>IndexSearcher</a> and <a href="../../Lucy/Search/PolySearcher.html" class="podlinkpod"
+>PolySearcher</a>.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>package MySearcher;
+use base qw( Lucy::Search::Searcher );
+sub new {
+ my $self = shift->SUPER::new;
+ ...
+ return $self;
+}</pre>
+
+<p>Abstract constructor.</p>
+
+<ul>
+<li><b>schema</b> - A Schema.</li>
+</ul>
+
+<h2><a class='u'
+name="ABSTRACT_METHODS"
+>ABSTRACT METHODS</a></h2>
+
+<h3><a class='u'
+name="doc_max"
+>doc_max</a></h3>
+
+<pre>my $int = $searcher->doc_max();</pre>
+
+<p>Return the maximum number of docs in the collection represented by the Searcher,
+which is also the highest possible internal doc id.
+Documents which have been marked as deleted but not yet purged are included in this count.</p>
+
+<h3><a class='u'
+name="doc_freq"
+>doc_freq</a></h3>
+
+<pre>my $int = $searcher->doc_freq(
+ field => $field # required
+ term => $term # required
+);</pre>
+
+<p>Return the number of documents which contain the term in the given field.</p>
+
+<ul>
+<li><b>field</b> - Field name.</li>
+
+<li><b>term</b> - The term to look up.</li>
+</ul>
+
+<h3><a class='u'
+name="collect"
+>collect</a></h3>
+
+<pre>$searcher->collect(
+ query => $query # required
+ collector => $collector # required
+);</pre>
+
+<p>Iterate over hits,
+feeding them into a <a href="../../Lucy/Search/Collector.html" class="podlinkpod"
+>Collector</a>.</p>
+
+<ul>
+<li><b>query</b> - A Query.</li>
+
+<li><b>collector</b> - A Collector.</li>
+</ul>
+
+<h3><a class='u'
+name="fetch_doc"
+>fetch_doc</a></h3>
+
+<pre>my $hit_doc = $searcher->fetch_doc($doc_id);</pre>
+
+<p>Retrieve a document.
+Throws an error if the doc id is out of range.</p>
+
+<ul>
+<li><b>doc_id</b> - A document id.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="glean_query"
+>glean_query</a></h3>
+
+<pre>my $query = $searcher->glean_query($query);
+my $query = $searcher->glean_query(); # default: undef</pre>
+
+<p>If the supplied object is a Query,
+return it; if it’s a query string,
+create a QueryParser and parse it to produce a query against all indexed fields.</p>
+
+<h3><a class='u'
+name="hits"
+>hits</a></h3>
+
+<pre>my $hits = $searcher->hits(
+ query => $query # required
+ offset => $offset # default: 0
+ num_wanted => $num_wanted # default: 10
+ sort_spec => $sort_spec # default: undef
+);</pre>
+
+<p>Return a Hits object containing the top results.</p>
+
+<ul>
+<li><b>query</b> - Either a Query object or a query string.</li>
+
+<li><b>offset</b> - The number of most-relevant hits to discard,
+typically used when “paging” through hits N at a time.
+Setting <code>offset</code> to 20 and <code>num_wanted</code> to 10 retrieves hits 21-30,
+assuming that 30 hits can be found.</li>
+
+<li><b>num_wanted</b> - The number of hits you would like to see after <code>offset</code> is taken into account.</li>
+
+<li><b>sort_spec</b> - A <a href="../../Lucy/Search/SortSpec.html" class="podlinkpod"
+>SortSpec</a>,
+which will affect how results are ranked and returned.</li>
+</ul>
+
+<h3><a class='u'
+name="get_schema"
+>get_schema</a></h3>
+
+<pre>my $schema = $searcher->get_schema();</pre>
+
+<p>Accessor for the object’s <code>schema</code> member.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::Searcher isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/SortRule.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/SortRule.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/SortRule.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/SortRule.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,96 @@
+Title: Lucy::Search::SortRule – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::SortRule - Element of a SortSpec.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $sort_spec = Lucy::Search::SortSpec->new(
+ rules => [
+ Lucy::Search::SortRule->new( field => 'date' ),
+ Lucy::Search::SortRule->new( type => 'doc_id' ),
+ ],
+);</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>SortRules are the building blocks used to assemble <a href="../../Lucy/Search/SortSpec.html" class="podlinkpod"
+>SortSpecs</a>; each SortRule defines a single level of sorting.
+For example,
+sorting first by “category” then by score requires a SortSpec with two SortRule elements.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $by_title = Lucy::Search::SortRule->new( field => 'title' );
+my $by_score = Lucy::Search::SortRule->new( type => 'score' );
+my $by_doc_id = Lucy::Search::SortRule->new( type => 'doc_id' );
+my $reverse_date = Lucy::Search::SortRule->new(
+ field => 'date',
+ reverse => 1,
+);</pre>
+
+<p>Create a new SortRule.</p>
+
+<ul>
+<li><b>type</b> - Indicate whether to sort by score,
+field,
+etc.
+(The default is to sort by a field.)</li>
+
+<li><b>field</b> - The name of a <code>sortable</code> field.</li>
+
+<li><b>reverse</b> - If true,
+reverse the order of the sort for this rule.</li>
+</ul>
+
+<h2><a class='u'
+name="METHODS"
+>METHODS</a></h2>
+
+<h3><a class='u'
+name="get_field"
+>get_field</a></h3>
+
+<pre>my $string = $sort_rule->get_field();</pre>
+
+<p>Accessor for “field” member.</p>
+
+<h3><a class='u'
+name="get_type"
+>get_type</a></h3>
+
+<pre>my $int = $sort_rule->get_type();</pre>
+
+<p>Accessor for “type” member.</p>
+
+<h3><a class='u'
+name="get_reverse"
+>get_reverse</a></h3>
+
+<pre>my $bool = $sort_rule->get_reverse();</pre>
+
+<p>Accessor for “reverse” member.</p>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::SortRule isa Clownfish::Obj.</p>
+
+</div>
Added: lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/SortSpec.mdtext
URL: http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/SortSpec.mdtext?rev=1762636&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/SortSpec.mdtext (added)
+++ lucy/site/trunk/content/docs/0.5.0/perl/Lucy/Search/SortSpec.mdtext Wed Sep 28 12:06:24 2016
@@ -0,0 +1,62 @@
+Title: Lucy::Search::SortSpec – Apache Lucy Documentation
+
+<div>
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h2><a class='u'
+name="NAME"
+>NAME</a></h2>
+
+<p>Lucy::Search::SortSpec - Specify a custom sort order for search results.</p>
+
+<h2><a class='u'
+name="SYNOPSIS"
+>SYNOPSIS</a></h2>
+
+<pre>my $sort_spec = Lucy::Search::SortSpec->new(
+ rules => [
+ Lucy::Search::SortRule->new( field => 'date' ),
+ Lucy::Search::SortRule->new( type => 'doc_id' ),
+ ],
+);
+my $hits = $searcher->hits(
+ query => $query,
+ sort_spec => $sort_spec,
+);</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>By default,
+searches return results in order of relevance; SortSpec allows you to indicate an alternate order via an array of <a href="../../Lucy/Search/SortRule.html" class="podlinkpod"
+>SortRules</a>.</p>
+
+<p>Fields you wish to sort against must be <code>sortable</code>.</p>
+
+<p>For a stable sort (important when paging through results),
+add a sort-by-doc rule as the last SortRule.</p>
+
+<h2><a class='u'
+name="CONSTRUCTORS"
+>CONSTRUCTORS</a></h2>
+
+<h3><a class='u'
+name="new"
+>new</a></h3>
+
+<pre>my $sort_spec = Lucy::Search::SortSpec->new( rules => \@rules );</pre>
+
+<p>Create a new SortSpec.</p>
+
+<ul>
+<li><b>rules</b> - An array of SortRules.</li>
+</ul>
+
+<h2><a class='u'
+name="INHERITANCE"
+>INHERITANCE</a></h2>
+
+<p>Lucy::Search::SortSpec isa Clownfish::Obj.</p>
+
+</div>