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-&#62;new(
+    language =&#62; &#39;en&#39;,
+);
+my $type = Lucy::Plan::FullTextType-&#62;new(
+    analyzer =&#62; $easyanalyzer,
+);
+my $schema = Lucy::Plan::Schema-&#62;new;
+$schema-&#62;spec_field( name =&#62; &#39;title&#39;,   type =&#62; $type );
+$schema-&#62;spec_field( name =&#62; &#39;content&#39;, type =&#62; $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 &#8220;full text search&#8221;.</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-&#62;new(
+    analyzer      =&#62; $analyzer,    # required
+    boost         =&#62; 2.0,          # default: 1.0
+    indexed       =&#62; 1,            # default: true
+    stored        =&#62; 1,            # default: true
+    sortable      =&#62; 1,            # default: false
+    highlightable =&#62; 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-&#62;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-&#62;highlightable();</pre>
+
+<p>Accessor for &#8220;highlightable&#8221; property.</p>
+
+<h3><a class='u'
+name="get_analyzer"
+>get_analyzer</a></h3>
+
+<pre>my $analyzer = $full_text_type-&#62;get_analyzer();</pre>
+
+<p>Accessor for the type&#8217;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-&#62;new;
+my $easyanalyzer = Lucy::Analysis::EasyAnalyzer-&#62;new(
+    language =&#62; &#39;en&#39;,
+);
+my $type = Lucy::Plan::FullTextType-&#62;new(
+    analyzer =&#62; $easyanalyzer,
+);
+$schema-&#62;spec_field( name =&#62; &#39;title&#39;,   type =&#62; $type );
+$schema-&#62;spec_field( name =&#62; &#39;content&#39;, type =&#62; $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-&#62;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-&#62;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-&#62;spec_field(
+    name =&#62; $name  # required
+    type =&#62; $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-&#62;fetch_type($field);</pre>
+
+<p>Return the FieldType for the specified field.
+If the field can&#8217;t be found,
+return undef.</p>
+
+<h3><a class='u'
+name="fetch_sim"
+>fetch_sim</a></h3>
+
+<pre>my $similarity = $schema-&#62;fetch_sim($field);
+my $similarity = $schema-&#62;fetch_sim();  # default: undef</pre>
+
+<p>Return the Similarity for the specified field,
+or undef if either the field can&#8217;t be found or it isn&#8217;t associated with a Similarity.</p>
+
+<h3><a class='u'
+name="num_fields"
+>num_fields</a></h3>
+
+<pre>my $int = $schema-&#62;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-&#62;all_fields();</pre>
+
+<p>Return all the Schema&#8217;s field names as an array.</p>
+
+<h3><a class='u'
+name="get_architecture"
+>get_architecture</a></h3>
+
+<pre>my $architecture = $schema-&#62;get_architecture();</pre>
+
+<p>Return the Schema instance&#8217;s internal Architecture object.</p>
+
+<h3><a class='u'
+name="get_similarity"
+>get_similarity</a></h3>
+
+<pre>my $similarity = $schema-&#62;get_similarity();</pre>
+
+<p>Return the Schema instance&#8217;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-&#62;new;
+my $schema = Lucy::Plan::Schema-&#62;new;
+$schema-&#62;spec_field( name =&#62; &#39;category&#39;, type =&#62; $type );</pre>
+
+<h2><a class='u'
+name="DESCRIPTION"
+>DESCRIPTION</a></h2>
+
+<p>Lucy::Plan::StringType is used for &#8220;exact-match&#8221; 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-&#62;new(
+    boost    =&#62; 0.1,    # default: 1.0
+    indexed  =&#62; 1,      # default: true
+    stored   =&#62; 1,      # default: true
+    sortable =&#62; 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-&#62;new(
+    children =&#62; [ $foo_query, $bar_query ],
+);
+my $hits = $searcher-&#62;hits( query =&#62; $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-&#62;new(
+    children =&#62; [ $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-&#62;make_compiler(
+    searcher    =&#62; $searcher     # required
+    boost       =&#62; $boost        # required
+    subordinate =&#62; $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-&#62;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-&#62;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-&#62;new(
+    capacity =&#62; $searcher-&#62;doc_max + 1,
+);
+my $bit_collector = Lucy::Search::Collector::BitCollector-&#62;new(
+    bit_vector =&#62; $bit_vec, 
+);
+$searcher-&#62;collect(
+    collector =&#62; $bit_collector,
+    query     =&#62; $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-&#62;new(
+    bit_vector =&#62; $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-&#62;collect($doc_id);</pre>
+
+<p>Set bit in the object&#8217;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-&#62;new( @_, compiler =&#62; $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 &#8211; such as those associated with constant-scoring Query types &#8211; 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&#8217;s constructor.</p>
+
+<p>However it is common for the Compiler to perform some calculations which affect it&#8217;s &#8220;weight&#8221; &#8211; a floating point multiplier that the Matcher will factor into each document&#8217;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&#8217;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 &#8211; such as how many total documents are in the collection,
+or how many documents in the collection a particular term is present in.
+Lucy&#8217;s core Compiler classes plug this information into the classic TF/IDF weighting algorithm to adjust the Compiler&#8217;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 &#8211; such as whether a term is missing from the local index even though it is present within the larger collection represented by the Searcher &#8211; when figuring out what to feed to the Matchers&#8217;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-&#62;SUPER::new(
+    parent     =&#62; $my_query,
+    searcher   =&#62; $searcher,
+    similarity =&#62; $sim,        # default: undef
+    boost      =&#62; 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-&#62;make_matcher(
+    reader     =&#62; $reader      # required
+    need_score =&#62; $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-&#62;get_weight();</pre>
+
+<p>Return the Compiler&#8217;s numerical weight,
+a scoring multiplier.
+By default,
+returns the object&#8217;s boost.</p>
+
+<h3><a class='u'
+name="get_similarity"
+>get_similarity</a></h3>
+
+<pre>my $similarity = $compiler-&#62;get_similarity();</pre>
+
+<p>Accessor for the Compiler&#8217;s Similarity object.</p>
+
+<h3><a class='u'
+name="get_parent"
+>get_parent</a></h3>
+
+<pre>my $query = $compiler-&#62;get_parent();</pre>
+
+<p>Accessor for the Compiler&#8217;s parent Query object.</p>
+
+<h3><a class='u'
+name="sum_of_squared_weights"
+>sum_of_squared_weights</a></h3>
+
+<pre>my $float = $compiler-&#62;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-&#62;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-&#62;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&#8217;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-&#62;hits(
+    query      =&#62; $query,
+    offset     =&#62; 0,
+    num_wanted =&#62; 10,
+);
+while ( my $hit = $hits-&#62;next ) {
+    print &#34;&#60;p&#62;$hit-&#62;{title} &#60;em&#62;&#34; . $hit-&#62;get_score . &#34;&#60;/em&#62;&#60;/p&#62;\n&#34;;
+}</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-&#62;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-&#62;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-&#62;new( 
+    index =&#62; &#39;/path/to/index&#39; 
+);
+my $hits = $searcher-&#62;hits(
+    query      =&#62; &#39;foo bar&#39;,
+    offset     =&#62; 0,
+    num_wanted =&#62; 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-&#62;new( 
+    index =&#62; &#39;/path/to/index&#39; 
+);</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-&#62;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-&#62;doc_freq(
+    field =&#62; $field  # required
+    term  =&#62; $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-&#62;collect(
+    query     =&#62; $query      # required
+    collector =&#62; $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-&#62;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-&#62;get_reader();</pre>
+
+<p>Accessor for the object&#8217;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-&#62;get_text =~ /.\*\s*$/ ) {
+        return PrefixQuery-&#62;new(
+            query_string =&#62; $leaf_query-&#62;get_text,
+            field        =&#62; $leaf_query-&#62;get_field,
+        );
+    }
+    else {
+        return $self-&#62;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>&#8217;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-&#62;new(
+    text  =&#62; &#39;&#34;three blind mice&#34;&#39;,    # required
+    field =&#62; &#39;content&#39;,               # 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-&#62;get_field();</pre>
+
+<p>Accessor for object&#8217;s <code>field</code> attribute.</p>
+
+<h3><a class='u'
+name="get_text"
+>get_text</a></h3>
+
+<pre>my $string = $leaf_query-&#62;get_text();</pre>
+
+<p>Accessor for object&#8217;s <code>text</code> attribute.</p>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $leaf_query-&#62;make_compiler(
+    searcher    =&#62; $searcher     # required
+    boost       =&#62; $boost        # required
+    subordinate =&#62; $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-&#62;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-&#62;make_compiler(
+    searcher    =&#62; $searcher     # required
+    boost       =&#62; $boost        # required
+    subordinate =&#62; $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-&#62;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-&#62;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-&#62;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-&#62;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-&#62;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-&#62;new( 
+    negated_query =&#62; $bar_query,
+);
+my $foo_and_not_bar_query = Lucy::Search::ANDQuery-&#62;new(
+    children =&#62; [ $foo_query, $not_bar_query ].
+);
+my $hits = $searcher-&#62;hits( query =&#62; $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 &#8220;a AND NOT b&#8221; 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-&#62;new( 
+    negated_query =&#62; $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-&#62;get_negated_query();</pre>
+
+<p>Accessor for the object&#8217;s negated query.</p>
+
+<h3><a class='u'
+name="set_negated_query"
+>set_negated_query</a></h3>
+
+<pre>$not_query-&#62;set_negated_query($negated_query);</pre>
+
+<p>Setter for the object&#8217;s negated query.</p>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $not_query-&#62;make_compiler(
+    searcher    =&#62; $searcher     # required
+    boost       =&#62; $boost        # required
+    subordinate =&#62; $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-&#62;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-&#62;make_compiler(
+    searcher    =&#62; $searcher     # required
+    boost       =&#62; $boost        # required
+    subordinate =&#62; $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-&#62;new(
+    children =&#62; [ $foo_query, $bar_query ],
+);
+my $hits = $searcher-&#62;hits( query =&#62; $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-&#62;new(
+    children =&#62; [ $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-&#62;make_compiler(
+    searcher    =&#62; $searcher     # required
+    boost       =&#62; $boost        # required
+    subordinate =&#62; $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-&#62;new( 
+    field =&#62; &#39;content&#39;,
+    terms =&#62; [qw( the who )],
+);
+my $hits = $searcher-&#62;hits( query =&#62; $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-&#62;new(
+    field =&#62; $field  # required
+    terms =&#62; $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-&#62;get_field();</pre>
+
+<p>Accessor for object&#8217;s field attribute.</p>
+
+<h3><a class='u'
+name="get_terms"
+>get_terms</a></h3>
+
+<pre>my $arrayref = $phrase_query-&#62;get_terms();</pre>
+
+<p>Accessor for object&#8217;s array of terms.</p>
+
+<h3><a class='u'
+name="make_compiler"
+>make_compiler</a></h3>
+
+<pre>my $compiler = $phrase_query-&#62;make_compiler(
+    searcher    =&#62; $searcher     # required
+    boost       =&#62; $boost        # required
+    subordinate =&#62; $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-&#62;isa(&#34;Lucy::Search::PolyQuery&#34;) ) {
+        if    ( $query-&#62;isa(&#34;Lucy::Search::ORQuery&#34;) )  { ... }
+        elsif ( $query-&#62;isa(&#34;Lucy::Search::ANDQuery&#34;) ) { ... }
+        elsif ( $query-&#62;isa(&#34;Lucy::Search::RequiredOptionalQuery&#34;) ) {
+            ...
+        }
+        elsif ( $query-&#62;isa(&#34;Lucy::Search::NOTQuery&#34;) ) { ... }
+    }
+    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-&#62;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-&#62;new;
+for my $index (@index_paths) {
+    push @searchers, Lucy::Search::IndexSearcher-&#62;new( index =&#62; $index );
+}
+my $poly_searcher = Lucy::Search::PolySearcher-&#62;new(
+    schema    =&#62; $schema,
+    searchers =&#62; \@searchers,
+);
+my $hits = $poly_searcher-&#62;hits( query =&#62; $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-&#62;new(
+    schema    =&#62; $schema,
+    searchers =&#62; \@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-&#62;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-&#62;doc_freq(
+    field =&#62; $field  # required
+    term  =&#62; $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-&#62;collect(
+    query     =&#62; $query      # required
+    collector =&#62; $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-&#62;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-&#62;new( %args, parent =&#62; $self );
+    $compiler-&#62;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 &#8216;foo AND bar&#8217; to a <a href="../../Lucy/Search/QueryParser.html" class="podlinkpod"
+>QueryParser&#8217;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-&#62;SUPER::new(
+    boost =&#62; 2.5,
+);</pre>
+
+<p>Abstract constructor.</p>
+
+<ul>
+<li><b>boost</b> - A scoring multiplier,
+affecting the Query&#39;s relative contribution to each document&#39;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-&#62;make_compiler(
+    searcher    =&#62; $searcher     # required
+    boost       =&#62; $boost        # required
+    subordinate =&#62; $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-&#62;set_boost($boost);</pre>
+
+<p>Set the Query&#8217;s boost.</p>
+
+<h3><a class='u'
+name="get_boost"
+>get_boost</a></h3>
+
+<pre>my $float = $query-&#62;get_boost();</pre>
+
+<p>Get the Query&#8217;s boost.</p>
+
+<h3><a class='u'
+name="dump"
+>dump</a></h3>
+
+<pre>my $obj = $query-&#62;dump();</pre>
+
+<h3><a class='u'
+name="load"
+>load</a></h3>
+
+<pre>my $obj = $query-&#62;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-&#62;new(
+    schema =&#62; $searcher-&#62;get_schema,
+    fields =&#62; [&#39;body&#39;],
+);
+my $query = $query_parser-&#62;parse( $query_string );
+my $hits  = $searcher-&#62;hits( query =&#62; $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 &#8216;AND&#8217;,
+&#8216;OR&#8217;,
+and &#8216;AND NOT&#8217;.</li>
+
+<li>Prepented +plus and -minus,
+indicating that the labeled entity should be either required or forbidden &#8211; 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 &#8216;fieldname:termtext&#8217; or &#8216;fieldname:(foo bar)&#8217;.
+(The field specified by &#8216;fieldname:&#8217; will be used instead of the QueryParser&#8217;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-&#62;new(
+    schema         =&#62; $searcher-&#62;get_schema,    # required
+    analyzer       =&#62; $analyzer,                # overrides schema
+    fields         =&#62; [&#39;bodytext&#39;],             # default: indexed fields
+    default_boolop =&#62; &#39;AND&#39;,                    # default: &#39;OR&#39;
+);</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&#8217;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: &#8216;AND&#8217; and &#8216;OR&#8217;.
+The default is &#8216;OR&#8217;,
+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 &#8216;AND&#8217;.</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-&#62;parse($query_string);
+my $query = $query_parser-&#62;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-&#62;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-&#62;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 &#8211; 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-&#62;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-&#62;prune($query);
+my $query = $query_parser-&#62;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 &#8220;return the world&#8221; 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> &#39;NOT foo&#39;               =&#62; [NOMATCH]
+ &#39;foo OR NOT bar&#39;        =&#62; &#39;foo&#39;
+ &#39;foo OR (-bar AND -baz) =&#62; &#39;foo&#39;</pre>
+
+<p><a href="#prune" class="podlinkpod"
+>prune()</a> also eliminates some double-negative constructs &#8211; even though such constructs may not actually return the world:</p>
+
+<pre> &#39;foo AND -(-bar)&#39;      =&#62; &#39;foo&#39;</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-&#62;make_term_query(
+    field =&#62; $field  # required
+    term  =&#62; $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-&#62;make_phrase_query(
+    field =&#62; $field  # required
+    terms =&#62; $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-&#62;make_or_query($children);
+my $query = $query_parser-&#62;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-&#62;make_and_query($children);
+my $query = $query_parser-&#62;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-&#62;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-&#62;make_req_opt_query(
+    required_query =&#62; $required_query  # required
+    optional_query =&#62; $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-&#62;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 &#34;Foo&#34; published since the year 2000.
+my $range_query = Lucy::Search::RangeQuery-&#62;new(
+    field         =&#62; &#39;publication_date&#39;,
+    lower_term    =&#62; &#39;2000-01-01&#39;,
+    include_lower =&#62; 1,
+);
+my $author_query = Lucy::Search::TermQuery-&#62;new(
+    field =&#62; &#39;author_last_name&#39;,
+    text  =&#62; &#39;Foo&#39;,
+);
+my $and_query = Lucy::Search::ANDQuery-&#62;new(
+    children =&#62; [ $range_query, $author_query ],
+);
+my $hits = $searcher-&#62;hits( query =&#62; $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-&#62;new(
+    field         =&#62; &#39;product_number&#39;, # required
+    lower_term    =&#62; &#39;003&#39;,            # see below
+    upper_term    =&#62; &#39;060&#39;,            # see below
+    include_lower =&#62; 0,                # default true
+    include_upper =&#62; 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-&#62;make_compiler(
+    searcher    =&#62; $searcher     # required
+    boost       =&#62; $boost        # required
+    subordinate =&#62; $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-&#62;new(
+    required_query =&#62; $foo_query,
+    optional_query =&#62; $bar_query,
+);
+my $hits = $searcher-&#62;hits( query =&#62; $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-&#62;new(
+    required_query =&#62; $foo_query,    # required
+    optional_query =&#62; $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-&#62;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-&#62;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-&#62;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-&#62;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-&#62;make_compiler(
+    searcher    =&#62; $searcher     # required
+    boost       =&#62; $boost        # required
+    subordinate =&#62; $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-&#62;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-&#62;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-&#62;doc_freq(
+    field =&#62; $field  # required
+    term  =&#62; $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-&#62;collect(
+    query     =&#62; $query      # required
+    collector =&#62; $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-&#62;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-&#62;glean_query($query);
+my $query = $searcher-&#62;glean_query();  # default: undef</pre>
+
+<p>If the supplied object is a Query,
+return it; if it&#8217;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-&#62;hits(
+    query      =&#62; $query       # required
+    offset     =&#62; $offset      # default: 0
+    num_wanted =&#62; $num_wanted  # default: 10
+    sort_spec  =&#62; $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 &#8220;paging&#8221; 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-&#62;get_schema();</pre>
+
+<p>Accessor for the object&#8217;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-&#62;new(
+    rules =&#62; [
+        Lucy::Search::SortRule-&#62;new( field =&#62; &#39;date&#39; ),
+        Lucy::Search::SortRule-&#62;new( type  =&#62; &#39;doc_id&#39; ),
+    ],
+);</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 &#8220;category&#8221; 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-&#62;new( field =&#62; &#39;title&#39; );
+my $by_score   = Lucy::Search::SortRule-&#62;new( type  =&#62; &#39;score&#39; );
+my $by_doc_id  = Lucy::Search::SortRule-&#62;new( type  =&#62; &#39;doc_id&#39; );
+my $reverse_date = Lucy::Search::SortRule-&#62;new(
+    field   =&#62; &#39;date&#39;,
+    reverse =&#62; 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-&#62;get_field();</pre>
+
+<p>Accessor for &#8220;field&#8221; member.</p>
+
+<h3><a class='u'
+name="get_type"
+>get_type</a></h3>
+
+<pre>my $int = $sort_rule-&#62;get_type();</pre>
+
+<p>Accessor for &#8220;type&#8221; member.</p>
+
+<h3><a class='u'
+name="get_reverse"
+>get_reverse</a></h3>
+
+<pre>my $bool = $sort_rule-&#62;get_reverse();</pre>
+
+<p>Accessor for &#8220;reverse&#8221; 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-&#62;new(
+    rules =&#62; [
+        Lucy::Search::SortRule-&#62;new( field =&#62; &#39;date&#39; ),
+        Lucy::Search::SortRule-&#62;new( type  =&#62; &#39;doc_id&#39; ),
+    ],
+);
+my $hits = $searcher-&#62;hits(
+    query     =&#62; $query,
+    sort_spec =&#62; $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-&#62;new( rules =&#62; \@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>