Added: lucy/site/trunk/content/docs/c/lucy_DocReader.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_DocReader.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_DocReader.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_DocReader.html Sun Nov 23 17:42:57 2014
@@ -0,0 +1,139 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Index::DocReader</h1>
+<h2>Name</h2>
+<p>Lucy::Index::DocReader - Retrieve stored documents.</p>
+<h2>Description</h2>
+<p>DocReader defines the interface by which documents (with all stored fields)
+are retrieved from the index.  The default implementation returns
+<a href="lucy_HitDoc.html">HitDoc</a> objects.</p>
+<h2>Methods</h2>
+<h3>Abstract methods</h3>
+<dl>
+<dt>Fetch_Doc</dt>
+<dd>
+<pre><code><a href="lucy_HitDoc.html">lucy_HitDoc*</a> // incremented
+<strong>LUCY_DocReader_Fetch_Doc</strong>(
+    lucy_DocReader* <strong>self</strong>,
+    int32_t <strong>doc_id</strong>
+);
+</code></pre>
+<p>Retrieve the document identified by <code>doc_id</code>.</p>
+<p><strong>Returns:</strong> a HitDoc.</p>
+</dd>
+</dl>
+<h3>Methods inherited from Lucy::Index::DataReader</h3><dl>
+<dt>Aggregator</dt>
+<dd>
+<pre><code>lucy_DataReader* // incremented
+<strong>LUCY_DataReader_Aggregator</strong>(
+    lucy_DataReader* <strong>self</strong>,
+    <a href="cfish_VArray.html">cfish_VArray*</a> <strong>readers</strong>,
+    <a href="lucy_I32Array.html">lucy_I32Array*</a> <strong>offsets</strong>
+);
+</code></pre>
+<p>Create a reader which aggregates the output of several lower level
+readers.  Return NULL if such a reader is not valid.</p>
+<dl>
+<dt><emph>readers</emph></dt>
+<dd><p>An array of DataReaders.</p>
+</dd>
+<dt><emph>offsets</emph></dt>
+<dd><p>Doc id start offsets for each reader.</p>
+</dd>
+</dl>
+</dd>
+<dt>Get_Schema</dt>
+<dd>
+<pre><code><a href="lucy_Schema.html">lucy_Schema*</a>
+<strong>LUCY_DataReader_Get_Schema</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;schema&quot; member var.</p>
+</dd>
+<dt>Get_Folder</dt>
+<dd>
+<pre><code><a href="lucy_Folder.html">lucy_Folder*</a>
+<strong>LUCY_DataReader_Get_Folder</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;folder&quot; member var.</p>
+</dd>
+<dt>Get_Snapshot</dt>
+<dd>
+<pre><code><a href="lucy_Snapshot.html">lucy_Snapshot*</a>
+<strong>LUCY_DataReader_Get_Snapshot</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;snapshot&quot; member var.</p>
+</dd>
+<dt>Get_Segments</dt>
+<dd>
+<pre><code><a href="cfish_VArray.html">cfish_VArray*</a>
+<strong>LUCY_DataReader_Get_Segments</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;segments&quot; member var.</p>
+</dd>
+<dt>Get_Segment</dt>
+<dd>
+<pre><code><a href="lucy_Segment.html">lucy_Segment*</a>
+<strong>LUCY_DataReader_Get_Segment</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;segment&quot; member var.</p>
+</dd>
+<dt>Get_Seg_Tick</dt>
+<dd>
+<pre><code>int32_t
+<strong>LUCY_DataReader_Get_Seg_Tick</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;seg_tick&quot; member var.</p>
+</dd>
+<dt>Close</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_DataReader_Close</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Release external resources, e.g. streams.  Implementations must be
+safe for multiple calls.  Once called, no other operations may be
+performed upon either the reader or any component subreaders other than
+object destruction.</p>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Index::DocReader is a <a 
href="lucy_DataReader.html">Lucy::Index::DataReader</a> is a <a 
href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_EasyAnalyzer.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_EasyAnalyzer.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_EasyAnalyzer.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_EasyAnalyzer.html Sun Nov 23 17:42:57 
2014
@@ -0,0 +1,126 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Analysis::EasyAnalyzer</h1>
+<h2>Name</h2>
+<p>Lucy::Analysis::EasyAnalyzer - A simple analyzer chain.</p>
+<h2>Description</h2>
+<p>EasyAnalyzer is an analyzer chain consisting of a
+<a href="lucy_StandardTokenizer.html">StandardTokenizer</a>, a
+<a href="lucy_Normalizer.html">Normalizer</a>, and a
+<a href="lucy_SnowballStemmer.html">SnowballStemmer</a>.</p>
+<p>Supported languages:</p>
+<pre><code>en =&gt; English,
+da =&gt; Danish,
+de =&gt; German,
+es =&gt; Spanish,
+fi =&gt; Finnish,
+fr =&gt; French,
+hu =&gt; Hungarian,
+it =&gt; Italian,
+nl =&gt; Dutch,
+no =&gt; Norwegian,
+pt =&gt; Portuguese,
+ro =&gt; Romanian,
+ru =&gt; Russian,
+sv =&gt; Swedish,
+tr =&gt; Turkish,
+</code></pre>
+<h2>Functions</h2>
+<dl>
+<dt>init</dt>
+<dd>
+<pre><code>lucy_EasyAnalyzer*
+<strong>lucy_EasyAnalyzer_init</strong>(
+    lucy_EasyAnalyzer* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>language</strong>
+);
+</code></pre>
+<dl>
+<dt><emph>language</emph></dt>
+<dd><p>An ISO code from the list of supported languages.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h2>Methods</h2>
+<h3>Methods inherited from Lucy::Analysis::Analyzer</h3><dl>
+<dt>Transform</dt>
+<dd>
+<pre><code><a href="lucy_Inversion.html">lucy_Inversion*</a> // incremented
+<strong>LUCY_Analyzer_Transform</strong>(
+    lucy_Analyzer* <strong>self</strong>,
+    <a href="lucy_Inversion.html">lucy_Inversion*</a> 
<strong>inversion</strong>
+);
+</code></pre>
+<p>Take a single <a href="lucy_Inversion.html">Inversion</a> as input
+and returns an Inversion, either the same one (presumably transformed
+in some way), or a new one.</p>
+</dd>
+<dt>Transform_Text</dt>
+<dd>
+<pre><code><a href="lucy_Inversion.html">lucy_Inversion*</a> // incremented
+<strong>LUCY_Analyzer_Transform_Text</strong>(
+    lucy_Analyzer* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>text</strong>
+);
+</code></pre>
+<p>Kick off an analysis chain, creating an Inversion from string input.
+The default implementation simply creates an initial Inversion with a
+single Token, then calls Transform(), but occasionally subclasses will
+provide an optimized implementation which minimizes string copies.</p>
+</dd>
+<dt>Split</dt>
+<dd>
+<pre><code><a href="cfish_VArray.html">cfish_VArray*</a> // incremented
+<strong>LUCY_Analyzer_Split</strong>(
+    lucy_Analyzer* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>text</strong>
+);
+</code></pre>
+<p>Analyze text and return an array of token texts.</p>
+</dd>
+<dt>Dump</dt>
+<dd>
+<pre><code><a href="cfish_Obj.html">cfish_Obj*</a> // incremented
+<strong>LUCY_Analyzer_Dump</strong>(
+    lucy_Analyzer* <strong>self</strong>
+);
+</code></pre>
+</dd>
+<dt>Load</dt>
+<dd>
+<pre><code><a href="cfish_Obj.html">cfish_Obj*</a> // incremented
+<strong>LUCY_Analyzer_Load</strong>(
+    lucy_Analyzer* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>dump</strong>
+);
+</code></pre>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Analysis::EasyAnalyzer is a <a 
href="lucy_Analyzer.html">Lucy::Analysis::Analyzer</a> is a <a 
href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_FSFolder.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_FSFolder.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_FSFolder.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_FSFolder.html Sun Nov 23 17:42:57 2014
@@ -0,0 +1,283 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Store::FSFolder</h1>
+<h2>Name</h2>
+<p>Lucy::Store::FSFolder - File System implementation of Folder.</p>
+<h2>Description</h2>
+<p>Implementation of <a href="lucy_Folder.html">Folder</a> using a single file 
system
+directory and multiple files.</p>
+<h2>Functions</h2>
+<dl>
+<dt>init</dt>
+<dd>
+<pre><code>lucy_FSFolder*
+<strong>lucy_FSFolder_init</strong>(
+    lucy_FSFolder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>Location of the index. If the specified directory does
+not exist already, it will NOT be created, in order to prevent
+misconfigured read applications from spawning bogus files -- so it may
+be necessary to create the directory yourself.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h2>Methods</h2>
+<h3>Methods inherited from Lucy::Store::Folder</h3><dl>
+<dt>Get_Path</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a>
+<strong>LUCY_Folder_Get_Path</strong>(
+    lucy_Folder* <strong>self</strong>
+);
+</code></pre>
+<p>Getter for <code>path</code> member var.</p>
+</dd>
+<dt>Open_Out</dt>
+<dd>
+<pre><code><a href="lucy_OutStream.html">lucy_OutStream*</a> // incremented
+<strong>LUCY_Folder_Open_Out</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Open an OutStream, or set Err_error and return NULL on failure.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> an OutStream.</p>
+</dd>
+<dt>Open_In</dt>
+<dd>
+<pre><code><a href="lucy_InStream.html">lucy_InStream*</a> // incremented
+<strong>LUCY_Folder_Open_In</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Open an InStream, or set Err_error and return NULL on failure.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> an InStream.</p>
+</dd>
+<dt>Open_FileHandle</dt>
+<dd>
+<pre><code><a href="lucy_FileHandle.html">lucy_FileHandle*</a> // incremented
+<strong>LUCY_Folder_Open_FileHandle</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>,
+    uint32_t <strong>flags</strong>
+);
+</code></pre>
+<p>Open a FileHandle, or set Err_error and return NULL on failure.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+<dt><emph>flags</emph></dt>
+<dd><p>FileHandle flags.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> a FileHandle.</p>
+</dd>
+<dt>Open_Dir</dt>
+<dd>
+<pre><code><a href="lucy_DirHandle.html">lucy_DirHandle*</a> // incremented
+<strong>LUCY_Folder_Open_Dir</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Open a DirHandle or set Err_error and return NULL on failure.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>Path to a subdirectory, relative to the Folder's path.  If
+empty or NULL, returns a DirHandle for this Folder.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> a DirHandle.</p>
+</dd>
+<dt>MkDir</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_MkDir</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Create a subdirectory.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> true on success, false on failure (sets 
Err_error).</p>
+</dd>
+<dt>Exists</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Exists</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Indicate whether an entity exists at <code>path</code>.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> true if <code>path</code> exists.</p>
+</dd>
+<dt>Delete</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Delete</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Delete an entry from the folder.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> true if the deletion was successful.</p>
+</dd>
+<dt>Delete_Tree</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Delete_Tree</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Delete recursively, starting at <code>path</code></p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath specifying a file or subdirectory.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> true if the whole tree is deleted successfully, 
false if any
+part remains.</p>
+</dd>
+<dt>Rename</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Rename</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>from</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>to</strong>
+);
+</code></pre>
+<p>Rename a file or directory, or set Err_error and return false on
+failure.  If an entry exists at <code>to</code>, the results are
+undefined.</p>
+<dl>
+<dt><emph>from</emph></dt>
+<dd><p>The filepath prior to renaming.</p>
+</dd>
+<dt><emph>to</emph></dt>
+<dd><p>The filepath after renaming.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> true on success, false on failure.</p>
+</dd>
+<dt>Hard_Link</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Hard_Link</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>from</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>to</strong>
+);
+</code></pre>
+<p>Create a hard link at path <code>to</code> pointing at the existing
+file <code>from</code>, or set Err_error and return false on failure.</p>
+<p><strong>Returns:</strong> true on success, false on failure.</p>
+</dd>
+<dt>Slurp_File</dt>
+<dd>
+<pre><code><a href="cfish_ByteBuf.html">cfish_ByteBuf*</a> // incremented
+<strong>LUCY_Folder_Slurp_File</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Read a file and return its contents.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+<dt><emph>return</emph></dt>
+<dd><p>the file's contents.</p>
+</dd>
+</dl>
+</dd>
+<dt>Initialize</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Folder_Initialize</strong>(
+    lucy_Folder* <strong>self</strong>
+);
+</code></pre>
+<p>Perform implementation-specific initialization.  For example: FSFolder
+creates its own directory.</p>
+</dd>
+<dt>Check</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Check</strong>(
+    lucy_Folder* <strong>self</strong>
+);
+</code></pre>
+<p>Verify that operations may be performed on this Folder.</p>
+<p><strong>Returns:</strong> true on success.</p>
+</dd>
+<dt>Close</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Folder_Close</strong>(
+    lucy_Folder* <strong>self</strong>
+);
+</code></pre>
+<p>Close the folder and release implementation-specific resources.</p>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Store::FSFolder is a <a 
href="lucy_Folder.html">Lucy::Store::Folder</a> is a <a 
href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_FieldType.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_FieldType.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_FieldType.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_FieldType.html Sun Nov 23 17:42:57 2014
@@ -0,0 +1,177 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Plan::FieldType</h1>
+<h2>Name</h2>
+<p>Lucy::Plan::FieldType - Define a field's behavior.</p>
+<h2>Description</h2>
+<p>FieldType is an abstract class defining a set of traits and behaviors which
+may be associated with one or more field names.</p>
+<p>Properties which are common to all field types include <code>boost</code>,
+<code>indexed</code>, <code>stored</code>, <code>sortable</code>,
+<code>binary</code>, and <code>similarity</code>.</p>
+<p>The <code>boost</code> property is a floating point scoring multiplier
+which defaults to 1.0.  Values greater than 1.0 cause the field to
+contribute more to a document's score, lower values, less.</p>
+<p>The <code>indexed</code> property indicates whether the field should be
+indexed (so that it can be searched).</p>
+<p>The <code>stored</code> property indicates whether to store the raw field
+value, so that it can be retrieved when a document turns up in a search.</p>
+<p>The <code>sortable</code> property indicates whether search results should
+be sortable based on the contents of the field.</p>
+<p>The <code>binary</code> property indicates whether the field contains
+binary or text data.  Unlike most other properties, <code>binary</code> is
+not settable.</p>
+<p>The <code>similarity</code> property is a
+<a href="lucy_Similarity.html">Similarity</a> object which defines matching
+and scoring behavior for the field.  It is required if the field is
+<code>indexed</code>.</p>
+<h2>Methods</h2>
+<h3>Abstract methods</h3>
+<dl>
+<dt>Dump</dt>
+<dd>
+<pre><code><a href="cfish_Obj.html">cfish_Obj*</a> // incremented
+<strong>LUCY_FType_Dump</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+</dd>
+<dt>Load</dt>
+<dd>
+<pre><code><a href="cfish_Obj.html">cfish_Obj*</a> // incremented
+<strong>LUCY_FType_Load</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>dump</strong>
+);
+</code></pre>
+</dd>
+</dl>
+<h3>Novel methods</h3>
+<dl>
+<dt>Set_Boost</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_FType_Set_Boost</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    float <strong>boost</strong>
+);
+</code></pre>
+<p>Setter for <code>boost</code>.</p>
+</dd>
+<dt>Get_Boost</dt>
+<dd>
+<pre><code>float
+<strong>LUCY_FType_Get_Boost</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for <code>boost</code>.</p>
+</dd>
+<dt>Set_Indexed</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_FType_Set_Indexed</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    bool <strong>indexed</strong>
+);
+</code></pre>
+<p>Setter for <code>indexed</code>.</p>
+</dd>
+<dt>Indexed</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_FType_Indexed</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for <code>indexed</code>.</p>
+</dd>
+<dt>Set_Stored</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_FType_Set_Stored</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    bool <strong>stored</strong>
+);
+</code></pre>
+<p>Setter for <code>stored</code>.</p>
+</dd>
+<dt>Stored</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_FType_Stored</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for <code>stored</code>.</p>
+</dd>
+<dt>Set_Sortable</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_FType_Set_Sortable</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    bool <strong>sortable</strong>
+);
+</code></pre>
+<p>Setter for <code>sortable</code>.</p>
+</dd>
+<dt>Sortable</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_FType_Sortable</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for <code>sortable</code>.</p>
+</dd>
+<dt>Binary</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_FType_Binary</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+<p>Indicate whether the field contains binary data.</p>
+</dd>
+<dt>Compare_Values</dt>
+<dd>
+<pre><code>int32_t
+<strong>LUCY_FType_Compare_Values</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>a</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>b</strong>
+);
+</code></pre>
+<p>Compare two values for the field.  The default implementation
+dispatches to the Compare_To() method of argument <code>a</code>.</p>
+<p><strong>Returns:</strong> a negative number if a is &quot;less than&quot; 
b, 0 if they are &quot;equal&quot;,
+and a positive number if a is &quot;greater than&quot; b.</p>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Plan::FieldType is a <a href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_Folder.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_Folder.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_Folder.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_Folder.html Sun Nov 23 17:42:57 2014
@@ -0,0 +1,283 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Store::Folder</h1>
+<h2>Name</h2>
+<p>Lucy::Store::Folder - Abstract class representing a directory.</p>
+<h2>Description</h2>
+<p>A &quot;file&quot; within a Folder might be a real file on disk -- or it 
might be a
+RAM buffer.  Similarly, Delete() might delete a file from the file system, or
+a key-value pair from a hash, or something else.</p>
+<p>The archetypal implementation of Folder,
+<a href="lucy_FSFolder.html">FSFolder</a>, represents a directory on
+the file system holding a collection of files.</p>
+<h2>Functions</h2>
+<dl>
+<dt>init</dt>
+<dd>
+<pre><code>lucy_Folder*
+<strong>lucy_Folder_init</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+</dd>
+</dl>
+<h2>Methods</h2>
+<h3>Abstract methods</h3>
+<dl>
+<dt>Rename</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Rename</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>from</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>to</strong>
+);
+</code></pre>
+<p>Rename a file or directory, or set Err_error and return false on
+failure.  If an entry exists at <code>to</code>, the results are
+undefined.</p>
+<dl>
+<dt><emph>from</emph></dt>
+<dd><p>The filepath prior to renaming.</p>
+</dd>
+<dt><emph>to</emph></dt>
+<dd><p>The filepath after renaming.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> true on success, false on failure.</p>
+</dd>
+<dt>Hard_Link</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Hard_Link</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>from</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>to</strong>
+);
+</code></pre>
+<p>Create a hard link at path <code>to</code> pointing at the existing
+file <code>from</code>, or set Err_error and return false on failure.</p>
+<p><strong>Returns:</strong> true on success, false on failure.</p>
+</dd>
+<dt>Initialize</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Folder_Initialize</strong>(
+    lucy_Folder* <strong>self</strong>
+);
+</code></pre>
+<p>Perform implementation-specific initialization.  For example: FSFolder
+creates its own directory.</p>
+</dd>
+<dt>Check</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Check</strong>(
+    lucy_Folder* <strong>self</strong>
+);
+</code></pre>
+<p>Verify that operations may be performed on this Folder.</p>
+<p><strong>Returns:</strong> true on success.</p>
+</dd>
+<dt>Close</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Folder_Close</strong>(
+    lucy_Folder* <strong>self</strong>
+);
+</code></pre>
+<p>Close the folder and release implementation-specific resources.</p>
+</dd>
+</dl>
+<h3>Novel methods</h3>
+<dl>
+<dt>Get_Path</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a>
+<strong>LUCY_Folder_Get_Path</strong>(
+    lucy_Folder* <strong>self</strong>
+);
+</code></pre>
+<p>Getter for <code>path</code> member var.</p>
+</dd>
+<dt>Open_Out</dt>
+<dd>
+<pre><code><a href="lucy_OutStream.html">lucy_OutStream*</a> // incremented
+<strong>LUCY_Folder_Open_Out</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Open an OutStream, or set Err_error and return NULL on failure.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> an OutStream.</p>
+</dd>
+<dt>Open_In</dt>
+<dd>
+<pre><code><a href="lucy_InStream.html">lucy_InStream*</a> // incremented
+<strong>LUCY_Folder_Open_In</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Open an InStream, or set Err_error and return NULL on failure.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> an InStream.</p>
+</dd>
+<dt>Open_FileHandle</dt>
+<dd>
+<pre><code><a href="lucy_FileHandle.html">lucy_FileHandle*</a> // incremented
+<strong>LUCY_Folder_Open_FileHandle</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>,
+    uint32_t <strong>flags</strong>
+);
+</code></pre>
+<p>Open a FileHandle, or set Err_error and return NULL on failure.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+<dt><emph>flags</emph></dt>
+<dd><p>FileHandle flags.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> a FileHandle.</p>
+</dd>
+<dt>Open_Dir</dt>
+<dd>
+<pre><code><a href="lucy_DirHandle.html">lucy_DirHandle*</a> // incremented
+<strong>LUCY_Folder_Open_Dir</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Open a DirHandle or set Err_error and return NULL on failure.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>Path to a subdirectory, relative to the Folder's path.  If
+empty or NULL, returns a DirHandle for this Folder.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> a DirHandle.</p>
+</dd>
+<dt>MkDir</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_MkDir</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Create a subdirectory.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> true on success, false on failure (sets 
Err_error).</p>
+</dd>
+<dt>Exists</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Exists</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Indicate whether an entity exists at <code>path</code>.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> true if <code>path</code> exists.</p>
+</dd>
+<dt>Delete</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Delete</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Delete an entry from the folder.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> true if the deletion was successful.</p>
+</dd>
+<dt>Delete_Tree</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_Folder_Delete_Tree</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Delete recursively, starting at <code>path</code></p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath specifying a file or subdirectory.</p>
+</dd>
+</dl>
+<p><strong>Returns:</strong> true if the whole tree is deleted successfully, 
false if any
+part remains.</p>
+</dd>
+<dt>Slurp_File</dt>
+<dd>
+<pre><code><a href="cfish_ByteBuf.html">cfish_ByteBuf*</a> // incremented
+<strong>LUCY_Folder_Slurp_File</strong>(
+    lucy_Folder* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>path</strong>
+);
+</code></pre>
+<p>Read a file and return its contents.</p>
+<dl>
+<dt><emph>path</emph></dt>
+<dd><p>A relative filepath.</p>
+</dd>
+<dt><emph>return</emph></dt>
+<dd><p>the file's contents.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Store::Folder is a <a href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_FullTextType.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_FullTextType.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_FullTextType.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_FullTextType.html Sun Nov 23 17:42:57 
2014
@@ -0,0 +1,240 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Plan::FullTextType</h1>
+<h2>Name</h2>
+<p>Lucy::Plan::FullTextType - Full-text search field type.</p>
+<h2>Description</h2>
+<p>Lucy::Plan::FullTextType is an implementation of
+<a href="lucy_FieldType.html">FieldType</a> tuned for &quot;full text 
search&quot;.</p>
+<p>Full text fields are associated with an
+<a href="lucy_Analyzer.html">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_StringType.html">StringType</a>.</p>
+<h2>Functions</h2>
+<dl>
+<dt>init</dt>
+<dd>
+<pre><code>lucy_FullTextType*
+<strong>lucy_FullTextType_init</strong>(
+    lucy_FullTextType* <strong>self</strong>,
+    <a href="lucy_Analyzer.html">lucy_Analyzer*</a> <strong>analyzer</strong>
+);
+</code></pre>
+<dl>
+<dt><emph>analyzer</emph></dt>
+<dd><p>An Analyzer.</p>
+</dd>
+<dt><emph>boost</emph></dt>
+<dd><p>floating point per-field boost.</p>
+</dd>
+<dt><emph>indexed</emph></dt>
+<dd><p>boolean indicating whether the field should be indexed.</p>
+</dd>
+<dt><emph>stored</emph></dt>
+<dd><p>boolean indicating whether the field should be stored.</p>
+</dd>
+<dt><emph>sortable</emph></dt>
+<dd><p>boolean indicating whether the field should be sortable.</p>
+</dd>
+<dt><emph>highlightable</emph></dt>
+<dd><p>boolean indicating whether the field should be
+highlightable.</p>
+</dd>
+</dl>
+</dd>
+<dt>new</dt>
+<dd>
+<pre><code>lucy_FullTextType* // incremented
+<strong>lucy_FullTextType_new</strong>(
+    <a href="lucy_Analyzer.html">lucy_Analyzer*</a> <strong>analyzer</strong>
+);
+</code></pre>
+</dd>
+</dl>
+<h2>Methods</h2>
+<h3>Novel methods</h3>
+<dl>
+<dt>Set_Highlightable</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_FullTextType_Set_Highlightable</strong>(
+    lucy_FullTextType* <strong>self</strong>,
+    bool <strong>highlightable</strong>
+);
+</code></pre>
+<p>Indicate whether to store data required by
+<a href="lucy_Highlighter.html">Highlighter</a> for excerpt selection and 
search
+term highlighting.</p>
+</dd>
+<dt>Highlightable</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_FullTextType_Highlightable</strong>(
+    lucy_FullTextType* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;highlightable&quot; property.</p>
+</dd>
+<dt>Get_Analyzer</dt>
+<dd>
+<pre><code><a href="lucy_Analyzer.html">lucy_Analyzer*</a>
+<strong>LUCY_FullTextType_Get_Analyzer</strong>(
+    lucy_FullTextType* <strong>self</strong>
+);
+</code></pre>
+</dd>
+<dt>Make_Similarity</dt>
+<dd>
+<pre><code><a href="lucy_Similarity.html">lucy_Similarity*</a> // incremented
+<strong>LUCY_FullTextType_Make_Similarity</strong>(
+    lucy_FullTextType* <strong>self</strong>
+);
+</code></pre>
+</dd>
+</dl>
+<h3>Methods inherited from Lucy::Plan::FieldType</h3><dl>
+<dt>Set_Boost</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_FType_Set_Boost</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    float <strong>boost</strong>
+);
+</code></pre>
+<p>Setter for <code>boost</code>.</p>
+</dd>
+<dt>Get_Boost</dt>
+<dd>
+<pre><code>float
+<strong>LUCY_FType_Get_Boost</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for <code>boost</code>.</p>
+</dd>
+<dt>Set_Indexed</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_FType_Set_Indexed</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    bool <strong>indexed</strong>
+);
+</code></pre>
+<p>Setter for <code>indexed</code>.</p>
+</dd>
+<dt>Indexed</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_FType_Indexed</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for <code>indexed</code>.</p>
+</dd>
+<dt>Set_Stored</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_FType_Set_Stored</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    bool <strong>stored</strong>
+);
+</code></pre>
+<p>Setter for <code>stored</code>.</p>
+</dd>
+<dt>Stored</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_FType_Stored</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for <code>stored</code>.</p>
+</dd>
+<dt>Set_Sortable</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_FType_Set_Sortable</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    bool <strong>sortable</strong>
+);
+</code></pre>
+<p>Setter for <code>sortable</code>.</p>
+</dd>
+<dt>Sortable</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_FType_Sortable</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for <code>sortable</code>.</p>
+</dd>
+<dt>Binary</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_FType_Binary</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+<p>Indicate whether the field contains binary data.</p>
+</dd>
+<dt>Compare_Values</dt>
+<dd>
+<pre><code>int32_t
+<strong>LUCY_FType_Compare_Values</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>a</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>b</strong>
+);
+</code></pre>
+<p>Compare two values for the field.  The default implementation
+dispatches to the Compare_To() method of argument <code>a</code>.</p>
+<p><strong>Returns:</strong> a negative number if a is &quot;less than&quot; 
b, 0 if they are &quot;equal&quot;,
+and a positive number if a is &quot;greater than&quot; b.</p>
+</dd>
+<dt>Dump</dt>
+<dd>
+<pre><code><a href="cfish_Obj.html">cfish_Obj*</a> // incremented
+<strong>LUCY_FType_Dump</strong>(
+    lucy_FieldType* <strong>self</strong>
+);
+</code></pre>
+</dd>
+<dt>Load</dt>
+<dd>
+<pre><code><a href="cfish_Obj.html">cfish_Obj*</a> // incremented
+<strong>LUCY_FType_Load</strong>(
+    lucy_FieldType* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>dump</strong>
+);
+</code></pre>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Plan::FullTextType is a <a 
href="lucy_TextType.html">Lucy::Plan::TextType</a> is a <a 
href="lucy_FieldType.html">Lucy::Plan::FieldType</a> is a <a 
href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_Highlighter.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_Highlighter.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_Highlighter.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_Highlighter.html Sun Nov 23 17:42:57 
2014
@@ -0,0 +1,194 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Highlight::Highlighter</h1>
+<h2>Name</h2>
+<p>Lucy::Highlight::Highlighter - Create and highlight excerpts.</p>
+<h2>Description</h2>
+<p>The Highlighter can be used to select relevant snippets from a document,
+and to surround search terms with highlighting tags.  It handles both stems
+and phrases correctly and efficiently, using special-purpose data generated
+at index-time.</p>
+<h2>Functions</h2>
+<dl>
+<dt>init</dt>
+<dd>
+<pre><code>lucy_Highlighter*
+<strong>lucy_Highlighter_init</strong>(
+    lucy_Highlighter* <strong>self</strong>,
+    <a href="lucy_Searcher.html">lucy_Searcher*</a> <strong>searcher</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>query</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>field</strong>,
+    uint32_t <strong>excerpt_length</strong>
+);
+</code></pre>
+<dl>
+<dt><emph>searcher</emph></dt>
+<dd><p>An object which inherits from
+<a href="lucy_Searcher.html">Searcher</a>, such as an
+<a href="lucy_IndexSearcher.html">IndexSearcher</a>.</p>
+</dd>
+<dt><emph>query</emph></dt>
+<dd><p>Query object or a query string.</p>
+</dd>
+<dt><emph>field</emph></dt>
+<dd><p>The name of the field from which to draw the excerpt.  The
+field must marked as be <code>highlightable</code> (see
+<a href="lucy_FieldType.html">FieldType</a>).</p>
+</dd>
+<dt><emph>excerpt_length</emph></dt>
+<dd><p>Maximum length of the excerpt, in characters.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h2>Methods</h2>
+<h3>Novel methods</h3>
+<dl>
+<dt>Create_Excerpt</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a> // incremented
+<strong>LUCY_Highlighter_Create_Excerpt</strong>(
+    lucy_Highlighter* <strong>self</strong>,
+    <a href="lucy_HitDoc.html">lucy_HitDoc*</a> <strong>hit_doc</strong>
+);
+</code></pre>
+<p>Take a HitDoc object and return a highlighted excerpt as a string if
+the HitDoc has a value for the specified <code>field</code>.</p>
+</dd>
+<dt>Encode</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a> // incremented
+<strong>LUCY_Highlighter_Encode</strong>(
+    lucy_Highlighter* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>text</strong>
+);
+</code></pre>
+<p>Encode text with HTML entities. This method is called internally by
+Create_Excerpt() for each text fragment when assembling an excerpt.  A
+subclass can override this if the text should be encoded differently or
+not at all.</p>
+</dd>
+<dt>Highlight</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a> // incremented
+<strong>LUCY_Highlighter_Highlight</strong>(
+    lucy_Highlighter* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>text</strong>
+);
+</code></pre>
+<p>Highlight a small section of text.  By default, prepends pre-tag and
+appends post-tag.  This method is called internally by Create_Excerpt()
+when assembling an excerpt.</p>
+</dd>
+<dt>Set_Pre_Tag</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Highlighter_Set_Pre_Tag</strong>(
+    lucy_Highlighter* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>pre_tag</strong>
+);
+</code></pre>
+<p>Setter.  The default value is &quot;&lt;strong&gt;&quot;.</p>
+</dd>
+<dt>Set_Post_Tag</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Highlighter_Set_Post_Tag</strong>(
+    lucy_Highlighter* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>post_tag</strong>
+);
+</code></pre>
+<p>Setter.  The default value is &quot;&lt;/strong&gt;&quot;.</p>
+</dd>
+<dt>Get_Pre_Tag</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a>
+<strong>LUCY_Highlighter_Get_Pre_Tag</strong>(
+    lucy_Highlighter* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor.</p>
+</dd>
+<dt>Get_Post_Tag</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a>
+<strong>LUCY_Highlighter_Get_Post_Tag</strong>(
+    lucy_Highlighter* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor.</p>
+</dd>
+<dt>Get_Field</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a>
+<strong>LUCY_Highlighter_Get_Field</strong>(
+    lucy_Highlighter* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor.</p>
+</dd>
+<dt>Get_Excerpt_Length</dt>
+<dd>
+<pre><code>uint32_t
+<strong>LUCY_Highlighter_Get_Excerpt_Length</strong>(
+    lucy_Highlighter* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor.</p>
+</dd>
+<dt>Get_Searcher</dt>
+<dd>
+<pre><code><a href="lucy_Searcher.html">lucy_Searcher*</a>
+<strong>LUCY_Highlighter_Get_Searcher</strong>(
+    lucy_Highlighter* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor.</p>
+</dd>
+<dt>Get_Query</dt>
+<dd>
+<pre><code><a href="lucy_Query.html">lucy_Query*</a>
+<strong>LUCY_Highlighter_Get_Query</strong>(
+    lucy_Highlighter* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor.</p>
+</dd>
+<dt>Get_Compiler</dt>
+<dd>
+<pre><code><a href="lucy_Compiler.html">lucy_Compiler*</a>
+<strong>LUCY_Highlighter_Get_Compiler</strong>(
+    lucy_Highlighter* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for the Lucy::Search::Compiler object derived from
+<code>query</code> and <code>searcher</code>.</p>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Highlight::Highlighter is a <a 
href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_HitDoc.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_HitDoc.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_HitDoc.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_HitDoc.html Sun Nov 23 17:42:57 2014
@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Document::HitDoc</h1>
+<h2>Name</h2>
+<p>Lucy::Document::HitDoc - A document read from an index.</p>
+<h2>Description</h2>
+<p>HitDoc is the search-time relative of the index-time class Doc; it is
+augmented by a numeric score attribute that Doc doesn't have.</p>
+<h2>Methods</h2>
+<h3>Novel methods</h3>
+<dl>
+<dt>Set_Score</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_HitDoc_Set_Score</strong>(
+    lucy_HitDoc* <strong>self</strong>,
+    float <strong>score</strong>
+);
+</code></pre>
+<p>Set score attribute.</p>
+</dd>
+<dt>Get_Score</dt>
+<dd>
+<pre><code>float
+<strong>LUCY_HitDoc_Get_Score</strong>(
+    lucy_HitDoc* <strong>self</strong>
+);
+</code></pre>
+<p>Get score attribute.</p>
+</dd>
+</dl>
+<h3>Methods inherited from Lucy::Document::Doc</h3><dl>
+<dt>Set_Doc_ID</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Doc_Set_Doc_ID</strong>(
+    lucy_Doc* <strong>self</strong>,
+    int32_t <strong>doc_id</strong>
+);
+</code></pre>
+<p>Set internal Lucy document id.</p>
+</dd>
+<dt>Get_Doc_ID</dt>
+<dd>
+<pre><code>int32_t
+<strong>LUCY_Doc_Get_Doc_ID</strong>(
+    lucy_Doc* <strong>self</strong>
+);
+</code></pre>
+<p>Retrieve internal Lucy document id.</p>
+</dd>
+<dt>Get_Fields</dt>
+<dd>
+<pre><code>void*
+<strong>LUCY_Doc_Get_Fields</strong>(
+    lucy_Doc* <strong>self</strong>
+);
+</code></pre>
+<p>Return the Doc's backing fields hash.</p>
+</dd>
+<dt>Get_Size</dt>
+<dd>
+<pre><code>uint32_t
+<strong>LUCY_Doc_Get_Size</strong>(
+    lucy_Doc* <strong>self</strong>
+);
+</code></pre>
+<p>Return the number of fields in the Doc.</p>
+</dd>
+<dt>Serialize</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Doc_Serialize</strong>(
+    lucy_Doc* <strong>self</strong>,
+    <a href="lucy_OutStream.html">lucy_OutStream*</a> 
<strong>outstream</strong>
+);
+</code></pre>
+</dd>
+<dt>Deserialize</dt>
+<dd>
+<pre><code>lucy_Doc* // incremented
+<strong>LUCY_Doc_Deserialize</strong>(
+    lucy_Doc* <strong>self</strong>, // decremented
+    <a href="lucy_InStream.html">lucy_InStream*</a> <strong>instream</strong>
+);
+</code></pre>
+</dd>
+<dt>Dump</dt>
+<dd>
+<pre><code><a href="cfish_Hash.html">cfish_Hash*</a> // incremented
+<strong>LUCY_Doc_Dump</strong>(
+    lucy_Doc* <strong>self</strong>
+);
+</code></pre>
+</dd>
+<dt>Load</dt>
+<dd>
+<pre><code>lucy_Doc* // incremented
+<strong>LUCY_Doc_Load</strong>(
+    lucy_Doc* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>dump</strong>
+);
+</code></pre>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Document::HitDoc is a <a href="lucy_Doc.html">Lucy::Document::Doc</a> 
is a <a href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_Hits.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_Hits.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_Hits.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_Hits.html Sun Nov 23 17:42:57 2014
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Search::Hits</h1>
+<h2>Name</h2>
+<p>Lucy::Search::Hits - Access search results.</p>
+<h2>Description</h2>
+<p>Hits objects are iterators used to access the results of a search.</p>
+<h2>Methods</h2>
+<h3>Novel methods</h3>
+<dl>
+<dt>Next</dt>
+<dd>
+<pre><code><a href="lucy_HitDoc.html">lucy_HitDoc*</a> // incremented
+<strong>LUCY_Hits_Next</strong>(
+    lucy_Hits* <strong>self</strong>
+);
+</code></pre>
+<p>Return the next hit, or NULL when the iterator is exhausted.</p>
+</dd>
+<dt>Total_Hits</dt>
+<dd>
+<pre><code>uint32_t
+<strong>LUCY_Hits_Total_Hits</strong>(
+    lucy_Hits* <strong>self</strong>
+);
+</code></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>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Search::Hits is a <a href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_IndexManager.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_IndexManager.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_IndexManager.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_IndexManager.html Sun Nov 23 17:42:57 
2014
@@ -0,0 +1,340 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Index::IndexManager</h1>
+<h2>Name</h2>
+<p>Lucy::Index::IndexManager - Policies governing index updating, locking, and 
file deletion.</p>
+<h2>Description</h2>
+<p>IndexManager is an advanced-use class for controlling index locking,
+updating, merging, and deletion behaviors.</p>
+<p>IndexManager and <a href="lucy_Architecture.html">Architecture</a> are
+complementary classes: Architecture is used to define traits and behaviors
+which cannot change for the life of an index; IndexManager is used for
+defining rules which may change from process to process.</p>
+<h2>Functions</h2>
+<dl>
+<dt>new</dt>
+<dd>
+<pre><code>lucy_IndexManager* // incremented
+<strong>lucy_IxManager_new</strong>(
+    <a href="cfish_String.html">cfish_String*</a> <strong>host</strong>,
+    <a href="lucy_LockFactory.html">lucy_LockFactory*</a> 
<strong>lock_factory</strong>
+);
+</code></pre>
+</dd>
+<dt>init</dt>
+<dd>
+<pre><code>lucy_IndexManager*
+<strong>lucy_IxManager_init</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>host</strong>,
+    <a href="lucy_LockFactory.html">lucy_LockFactory*</a> 
<strong>lock_factory</strong>
+);
+</code></pre>
+<dl>
+<dt><emph>host</emph></dt>
+<dd><p>An identifier which should be unique per-machine.</p>
+</dd>
+<dt><emph>lock_factory</emph></dt>
+<dd><p>A LockFactory.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h2>Methods</h2>
+<h3>Novel methods</h3>
+<dl>
+<dt>Set_Folder</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_IxManager_Set_Folder</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    <a href="lucy_Folder.html">lucy_Folder*</a> <strong>folder</strong>
+);
+</code></pre>
+<p>Setter for <code>folder</code> member.  Typical clients (Indexer,
+IndexReader) will use this method to install their own Folder instance.</p>
+</dd>
+<dt>Get_Folder</dt>
+<dd>
+<pre><code><a href="lucy_Folder.html">lucy_Folder*</a>
+<strong>LUCY_IxManager_Get_Folder</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Getter for <code>folder</code> member.</p>
+</dd>
+<dt>Get_Host</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a>
+<strong>LUCY_IxManager_Get_Host</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Getter for <code>host</code> member.</p>
+</dd>
+<dt>Recycle</dt>
+<dd>
+<pre><code><a href="cfish_VArray.html">cfish_VArray*</a> // incremented
+<strong>LUCY_IxManager_Recycle</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    <a href="lucy_PolyReader.html">lucy_PolyReader*</a> 
<strong>reader</strong>,
+    <a href="lucy_DeletionsWriter.html">lucy_DeletionsWriter*</a> 
<strong>del_writer</strong>,
+    int64_t <strong>cutoff</strong>,
+    bool <strong>optimize</strong>
+);
+</code></pre>
+<p>Return an array of SegReaders representing segments that should be
+consolidated.  Implementations must balance index-time churn against
+search-time degradation due to segment proliferation. The default
+implementation prefers small segments or segments with a high
+proportion of deletions.</p>
+<dl>
+<dt><emph>reader</emph></dt>
+<dd><p>A PolyReader.</p>
+</dd>
+<dt><emph>del_writer</emph></dt>
+<dd><p>A DeletionsWriter.</p>
+</dd>
+<dt><emph>cutoff</emph></dt>
+<dd><p>A segment number which all returned SegReaders must
+exceed.</p>
+</dd>
+<dt><emph>optimize</emph></dt>
+<dd><p>A boolean indicating whether to spend extra time
+optimizing the index for search-time performance.</p>
+</dd>
+</dl>
+</dd>
+<dt>Make_Write_Lock</dt>
+<dd>
+<pre><code><a href="lucy_Lock.html">lucy_Lock*</a> // incremented
+<strong>LUCY_IxManager_Make_Write_Lock</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Create the Lock which controls access to modifying the logical content
+of the index.</p>
+</dd>
+<dt>Make_Deletion_Lock</dt>
+<dd>
+<pre><code><a href="lucy_Lock.html">lucy_Lock*</a> // incremented
+<strong>LUCY_IxManager_Make_Deletion_Lock</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Create the Lock which grants permission to delete obsolete snapshot
+files or any file listed within an existing snapshot file.</p>
+</dd>
+<dt>Make_Merge_Lock</dt>
+<dd>
+<pre><code><a href="lucy_Lock.html">lucy_Lock*</a> // incremented
+<strong>LUCY_IxManager_Make_Merge_Lock</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+</dd>
+<dt>Write_Merge_Data</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_IxManager_Write_Merge_Data</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    int64_t <strong>cutoff</strong>
+);
+</code></pre>
+<p>Write supplied data to &quot;merge.json&quot;.  Throw an exception if the 
write
+fails.</p>
+</dd>
+<dt>Read_Merge_Data</dt>
+<dd>
+<pre><code><a href="cfish_Hash.html">cfish_Hash*</a> // incremented
+<strong>LUCY_IxManager_Read_Merge_Data</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Look for the &quot;merge.json&quot; file dropped by BackgroundMerger.  If 
it's
+not there, return NULL.  If it's there but can't be decoded, return an
+empty Hash.  If successfully decoded, return contents.</p>
+</dd>
+<dt>Remove_Merge_Data</dt>
+<dd>
+<pre><code>bool
+<strong>LUCY_IxManager_Remove_Merge_Data</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+</dd>
+<dt>Make_Snapshot_Read_Lock</dt>
+<dd>
+<pre><code><a href="lucy_Lock.html">lucy_Lock*</a> // incremented
+<strong>LUCY_IxManager_Make_Snapshot_Read_Lock</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>filename</strong>
+);
+</code></pre>
+<p>Create a shared lock on a snapshot file, which serves as a proxy for
+all the files it lists and indicates that they must not be deleted.</p>
+</dd>
+<dt>Highest_Seg_Num</dt>
+<dd>
+<pre><code>int64_t
+<strong>LUCY_IxManager_Highest_Seg_Num</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    <a href="lucy_Snapshot.html">lucy_Snapshot*</a> <strong>snapshot</strong>
+);
+</code></pre>
+<p>Return the highest number for a segment directory which contains a
+segmeta file in the snapshot.</p>
+</dd>
+<dt>Make_Snapshot_Filename</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a> // incremented
+<strong>LUCY_IxManager_Make_Snapshot_Filename</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Return the name of a new snapshot file, which shall contain a base-36
+&quot;generation&quot; embedded inside it greater than the generation of any
+snapshot file currently in the index folder.</p>
+</dd>
+<dt>Set_Write_Lock_Timeout</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_IxManager_Set_Write_Lock_Timeout</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    uint32_t <strong>timeout</strong>
+);
+</code></pre>
+<p>Setter for write lock timeout.  Default: 1000 milliseconds.</p>
+</dd>
+<dt>Get_Write_Lock_Timeout</dt>
+<dd>
+<pre><code>uint32_t
+<strong>LUCY_IxManager_Get_Write_Lock_Timeout</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Getter for write lock timeout.</p>
+</dd>
+<dt>Set_Write_Lock_Interval</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_IxManager_Set_Write_Lock_Interval</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    uint32_t <strong>timeout</strong>
+);
+</code></pre>
+<p>Setter for write lock retry interval.  Default: 100 milliseconds.</p>
+</dd>
+<dt>Get_Write_Lock_Interval</dt>
+<dd>
+<pre><code>uint32_t
+<strong>LUCY_IxManager_Get_Write_Lock_Interval</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Getter for write lock retry interval.</p>
+</dd>
+<dt>Set_Merge_Lock_Timeout</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_IxManager_Set_Merge_Lock_Timeout</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    uint32_t <strong>timeout</strong>
+);
+</code></pre>
+<p>Setter for merge lock timeout.  Default: 0 milliseconds (no retries).</p>
+</dd>
+<dt>Get_Merge_Lock_Timeout</dt>
+<dd>
+<pre><code>uint32_t
+<strong>LUCY_IxManager_Get_Merge_Lock_Timeout</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Getter for merge lock timeout.</p>
+</dd>
+<dt>Set_Merge_Lock_Interval</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_IxManager_Set_Merge_Lock_Interval</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    uint32_t <strong>timeout</strong>
+);
+</code></pre>
+<p>Setter for merge lock retry interval.  Default: 1000 milliseconds.</p>
+</dd>
+<dt>Get_Merge_Lock_Interval</dt>
+<dd>
+<pre><code>uint32_t
+<strong>LUCY_IxManager_Get_Merge_Lock_Interval</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Getter for merge lock retry interval.</p>
+</dd>
+<dt>Set_Deletion_Lock_Timeout</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_IxManager_Set_Deletion_Lock_Timeout</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    uint32_t <strong>timeout</strong>
+);
+</code></pre>
+<p>Setter for deletion lock timeout.  Default: 1000 milliseconds.</p>
+</dd>
+<dt>Get_Deletion_Lock_Timeout</dt>
+<dd>
+<pre><code>uint32_t
+<strong>LUCY_IxManager_Get_Deletion_Lock_Timeout</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Getter for deletion lock timeout.</p>
+</dd>
+<dt>Set_Deletion_Lock_Interval</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_IxManager_Set_Deletion_Lock_Interval</strong>(
+    lucy_IndexManager* <strong>self</strong>,
+    uint32_t <strong>timeout</strong>
+);
+</code></pre>
+<p>Setter for deletion lock retry interval.  Default: 100 milliseconds.</p>
+</dd>
+<dt>Get_Deletion_Lock_Interval</dt>
+<dd>
+<pre><code>uint32_t
+<strong>LUCY_IxManager_Get_Deletion_Lock_Interval</strong>(
+    lucy_IndexManager* <strong>self</strong>
+);
+</code></pre>
+<p>Getter for deletion lock retry interval.</p>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Index::IndexManager is a <a 
href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_IndexReader.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_IndexReader.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_IndexReader.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_IndexReader.html Sun Nov 23 17:42:57 
2014
@@ -0,0 +1,277 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Index::IndexReader</h1>
+<h2>Name</h2>
+<p>Lucy::Index::IndexReader - Read from an inverted index.</p>
+<h2>Description</h2>
+<p>IndexReader is the interface through which
+<a href="lucy_IndexSearcher.html">IndexSearcher</a> objects access the
+content of an index.</p>
+<p>IndexReader objects always represent a point-in-time view of an index as it
+existed at the moment the reader was created.  If you want search results
+to reflect modifications to an index, you must create a new IndexReader
+after the update process completes.</p>
+<p>IndexReaders are composites; most of the work is done by individual
+<a href="lucy_DataReader.html">DataReader</a> sub-components, which may be
+accessed via Fetch() and Obtain().  The most efficient and powerful access
+to index data happens at the segment level via
+<a href="lucy_SegReader.html">SegReader</a>'s sub-components.</p>
+<h2>Functions</h2>
+<dl>
+<dt>init</dt>
+<dd>
+<pre><code>lucy_IndexReader*
+<strong>lucy_IxReader_init</strong>(
+    lucy_IndexReader* <strong>self</strong>,
+    <a href="lucy_Schema.html">lucy_Schema*</a> <strong>schema</strong>,
+    <a href="lucy_Folder.html">lucy_Folder*</a> <strong>folder</strong>,
+    <a href="lucy_Snapshot.html">lucy_Snapshot*</a> <strong>snapshot</strong>,
+    <a href="cfish_VArray.html">cfish_VArray*</a> <strong>segments</strong>,
+    int32_t <strong>seg_tick</strong>,
+    <a href="lucy_IndexManager.html">lucy_IndexManager*</a> 
<strong>manager</strong>
+);
+</code></pre>
+</dd>
+<dt>open</dt>
+<dd>
+<pre><code>lucy_IndexReader* // incremented
+<strong>lucy_IxReader_open</strong>(
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>index</strong>,
+    <a href="lucy_Snapshot.html">lucy_Snapshot*</a> <strong>snapshot</strong>,
+    <a href="lucy_IndexManager.html">lucy_IndexManager*</a> 
<strong>manager</strong>
+);
+</code></pre>
+</dd>
+<dt>do_open</dt>
+<dd>
+<pre><code>lucy_IndexReader*
+<strong>lucy_IxReader_do_open</strong>(
+    lucy_IndexReader* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>index</strong>,
+    <a href="lucy_Snapshot.html">lucy_Snapshot*</a> <strong>snapshot</strong>,
+    <a href="lucy_IndexManager.html">lucy_IndexManager*</a> 
<strong>manager</strong>
+);
+</code></pre>
+<p>IndexReader is an abstract base class; open() returns the IndexReader
+subclass PolyReader, which channels the output of 0 or more SegReaders.</p>
+<dl>
+<dt><emph>index</emph></dt>
+<dd><p>Either a string filepath or a Folder.</p>
+</dd>
+<dt><emph>snapshot</emph></dt>
+<dd><p>A Snapshot.  If not supplied, the most recent snapshot
+file will be used.</p>
+</dd>
+<dt><emph>manager</emph></dt>
+<dd><p>An <a href="lucy_IndexManager.html">IndexManager</a>.
+Read-locking is off by default; supplying this argument turns it on.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h2>Methods</h2>
+<h3>Abstract methods</h3>
+<dl>
+<dt>Doc_Max</dt>
+<dd>
+<pre><code>int32_t
+<strong>LUCY_IxReader_Doc_Max</strong>(
+    lucy_IndexReader* <strong>self</strong>
+);
+</code></pre>
+<p>Return the maximum number of documents available to the reader, which
+is also the highest possible internal document id.  Documents which
+have been marked as deleted but not yet purged from the index are
+included in this count.</p>
+</dd>
+<dt>Doc_Count</dt>
+<dd>
+<pre><code>int32_t
+<strong>LUCY_IxReader_Doc_Count</strong>(
+    lucy_IndexReader* <strong>self</strong>
+);
+</code></pre>
+<p>Return the number of documents available to the reader, subtracting
+any that are marked as deleted.</p>
+</dd>
+<dt>Del_Count</dt>
+<dd>
+<pre><code>int32_t
+<strong>LUCY_IxReader_Del_Count</strong>(
+    lucy_IndexReader* <strong>self</strong>
+);
+</code></pre>
+<p>Return the number of documents which have been marked as deleted but
+not yet purged from the index.</p>
+</dd>
+<dt>Offsets</dt>
+<dd>
+<pre><code><a href="lucy_I32Array.html">lucy_I32Array*</a> // incremented
+<strong>LUCY_IxReader_Offsets</strong>(
+    lucy_IndexReader* <strong>self</strong>
+);
+</code></pre>
+<p>Return an array with one entry for each segment, corresponding to
+segment doc_id start offset.</p>
+</dd>
+<dt>Seg_Readers</dt>
+<dd>
+<pre><code><a href="cfish_VArray.html">cfish_VArray*</a> // incremented
+<strong>LUCY_IxReader_Seg_Readers</strong>(
+    lucy_IndexReader* <strong>self</strong>
+);
+</code></pre>
+<p>Return an array of all the SegReaders represented within the
+IndexReader.</p>
+</dd>
+</dl>
+<h3>Novel methods</h3>
+<dl>
+<dt>Obtain</dt>
+<dd>
+<pre><code><a href="lucy_DataReader.html">lucy_DataReader*</a>
+<strong>LUCY_IxReader_Obtain</strong>(
+    lucy_IndexReader* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>api</strong>
+);
+</code></pre>
+<p>Fetch a component, or throw an error if the component can't be found.</p>
+<dl>
+<dt><emph>api</emph></dt>
+<dd><p>The name of the DataReader subclass that the desired
+component must implement.</p>
+</dd>
+</dl>
+</dd>
+<dt>Fetch</dt>
+<dd>
+<pre><code><a href="lucy_DataReader.html">lucy_DataReader*</a>
+<strong>LUCY_IxReader_Fetch</strong>(
+    lucy_IndexReader* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>api</strong>
+);
+</code></pre>
+<p>Fetch a component, or return NULL if the component can't be found.</p>
+<dl>
+<dt><emph>api</emph></dt>
+<dd><p>The name of the DataReader subclass that the desired
+component must implement.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h3>Methods inherited from Lucy::Index::DataReader</h3><dl>
+<dt>Aggregator</dt>
+<dd>
+<pre><code>lucy_DataReader* // incremented
+<strong>LUCY_DataReader_Aggregator</strong>(
+    lucy_DataReader* <strong>self</strong>,
+    <a href="cfish_VArray.html">cfish_VArray*</a> <strong>readers</strong>,
+    <a href="lucy_I32Array.html">lucy_I32Array*</a> <strong>offsets</strong>
+);
+</code></pre>
+<p>Create a reader which aggregates the output of several lower level
+readers.  Return NULL if such a reader is not valid.</p>
+<dl>
+<dt><emph>readers</emph></dt>
+<dd><p>An array of DataReaders.</p>
+</dd>
+<dt><emph>offsets</emph></dt>
+<dd><p>Doc id start offsets for each reader.</p>
+</dd>
+</dl>
+</dd>
+<dt>Get_Schema</dt>
+<dd>
+<pre><code><a href="lucy_Schema.html">lucy_Schema*</a>
+<strong>LUCY_DataReader_Get_Schema</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;schema&quot; member var.</p>
+</dd>
+<dt>Get_Folder</dt>
+<dd>
+<pre><code><a href="lucy_Folder.html">lucy_Folder*</a>
+<strong>LUCY_DataReader_Get_Folder</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;folder&quot; member var.</p>
+</dd>
+<dt>Get_Snapshot</dt>
+<dd>
+<pre><code><a href="lucy_Snapshot.html">lucy_Snapshot*</a>
+<strong>LUCY_DataReader_Get_Snapshot</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;snapshot&quot; member var.</p>
+</dd>
+<dt>Get_Segments</dt>
+<dd>
+<pre><code><a href="cfish_VArray.html">cfish_VArray*</a>
+<strong>LUCY_DataReader_Get_Segments</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;segments&quot; member var.</p>
+</dd>
+<dt>Get_Segment</dt>
+<dd>
+<pre><code><a href="lucy_Segment.html">lucy_Segment*</a>
+<strong>LUCY_DataReader_Get_Segment</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;segment&quot; member var.</p>
+</dd>
+<dt>Get_Seg_Tick</dt>
+<dd>
+<pre><code>int32_t
+<strong>LUCY_DataReader_Get_Seg_Tick</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for &quot;seg_tick&quot; member var.</p>
+</dd>
+<dt>Close</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_DataReader_Close</strong>(
+    lucy_DataReader* <strong>self</strong>
+);
+</code></pre>
+<p>Release external resources, e.g. streams.  Implementations must be
+safe for multiple calls.  Once called, no other operations may be
+performed upon either the reader or any component subreaders other than
+object destruction.</p>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Index::IndexReader is a <a 
href="lucy_DataReader.html">Lucy::Index::DataReader</a> is a <a 
href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_IndexSearcher.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_IndexSearcher.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_IndexSearcher.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_IndexSearcher.html Sun Nov 23 17:42:57 
2014
@@ -0,0 +1,191 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Search::IndexSearcher</h1>
+<h2>Name</h2>
+<p>Lucy::Search::IndexSearcher - Execute searches against a single index.</p>
+<h2>Description</h2>
+<p>Use the IndexSearcher class to perform search queries against an index.
+(For searching multiple indexes at once, see
+<a href="lucy_PolySearcher.html">PolySearcher</a>).</p>
+<p>IndexSearchers operate against a single point-in-time view or
+<a href="lucy_Snapshot.html">Snapshot</a> of the index.  If an index is
+modified, a new IndexSearcher must be opened to access the changes.</p>
+<h2>Functions</h2>
+<dl>
+<dt>init</dt>
+<dd>
+<pre><code>lucy_IndexSearcher*
+<strong>lucy_IxSearcher_init</strong>(
+    lucy_IndexSearcher* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>index</strong>
+);
+</code></pre>
+<dl>
+<dt><emph>index</emph></dt>
+<dd><p>Either a string filepath, a Folder, or an IndexReader.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h2>Methods</h2>
+<h3>Novel methods</h3>
+<dl>
+<dt>Get_Reader</dt>
+<dd>
+<pre><code><a href="lucy_IndexReader.html">lucy_IndexReader*</a>
+<strong>LUCY_IxSearcher_Get_Reader</strong>(
+    lucy_IndexSearcher* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for the object's <code>reader</code> member.</p>
+</dd>
+</dl>
+<h3>Methods inherited from Lucy::Search::Searcher</h3><dl>
+<dt>Doc_Max</dt>
+<dd>
+<pre><code>int32_t
+<strong>LUCY_Searcher_Doc_Max</strong>(
+    lucy_Searcher* <strong>self</strong>
+);
+</code></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>
+</dd>
+<dt>Doc_Freq</dt>
+<dd>
+<pre><code>uint32_t
+<strong>LUCY_Searcher_Doc_Freq</strong>(
+    lucy_Searcher* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>field</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>term</strong>
+);
+</code></pre>
+<p>Return the number of documents which contain the term in the given
+field.</p>
+<dl>
+<dt><emph>field</emph></dt>
+<dd><p>Field name.</p>
+</dd>
+<dt><emph>term</emph></dt>
+<dd><p>The term to look up.</p>
+</dd>
+</dl>
+</dd>
+<dt>Glean_Query</dt>
+<dd>
+<pre><code><a href="lucy_Query.html">lucy_Query*</a> // incremented
+<strong>LUCY_Searcher_Glean_Query</strong>(
+    lucy_Searcher* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>query</strong>
+);
+</code></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>
+</dd>
+<dt>Hits</dt>
+<dd>
+<pre><code><a href="lucy_Hits.html">lucy_Hits*</a> // incremented
+<strong>LUCY_Searcher_Hits</strong>(
+    lucy_Searcher* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>query</strong>,
+    uint32_t <strong>offset</strong>,
+    uint32_t <strong>num_wanted</strong>,
+    <a href="lucy_SortSpec.html">lucy_SortSpec*</a> <strong>sort_spec</strong>
+);
+</code></pre>
+<p>Return a Hits object containing the top results.</p>
+<dl>
+<dt><emph>query</emph></dt>
+<dd><p>Either a Query object or a query string.</p>
+</dd>
+<dt><emph>offset</emph></dt>
+<dd><p>The number of most-relevant hits to discard, typically
+used when &quot;paging&quot; 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.</p>
+</dd>
+<dt><emph>num_wanted</emph></dt>
+<dd><p>The number of hits you would like to see after
+<code>offset</code> is taken into account.</p>
+</dd>
+<dt><emph>sort_spec</emph></dt>
+<dd><p>A <a href="lucy_SortSpec.html">SortSpec</a>, which will affect
+how results are ranked and returned.</p>
+</dd>
+</dl>
+</dd>
+<dt>Collect</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Searcher_Collect</strong>(
+    lucy_Searcher* <strong>self</strong>,
+    <a href="lucy_Query.html">lucy_Query*</a> <strong>query</strong>,
+    <a href="lucy_Collector.html">lucy_Collector*</a> 
<strong>collector</strong>
+);
+</code></pre>
+<p>Iterate over hits, feeding them into a
+<a href="lucy_Collector.html">Collector</a>.</p>
+<dl>
+<dt><emph>query</emph></dt>
+<dd><p>A Query.</p>
+</dd>
+<dt><emph>collector</emph></dt>
+<dd><p>A Collector.</p>
+</dd>
+</dl>
+</dd>
+<dt>Fetch_Doc</dt>
+<dd>
+<pre><code><a href="lucy_HitDoc.html">lucy_HitDoc*</a> // incremented
+<strong>LUCY_Searcher_Fetch_Doc</strong>(
+    lucy_Searcher* <strong>self</strong>,
+    int32_t <strong>doc_id</strong>
+);
+</code></pre>
+<p>Retrieve a document.  Throws an error if the doc id is out of range.</p>
+<dl>
+<dt><emph>doc_id</emph></dt>
+<dd><p>A document id.</p>
+</dd>
+</dl>
+</dd>
+<dt>Get_Schema</dt>
+<dd>
+<pre><code><a href="lucy_Schema.html">lucy_Schema*</a>
+<strong>LUCY_Searcher_Get_Schema</strong>(
+    lucy_Searcher* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for the object's <code>schema</code> member.</p>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Search::IndexSearcher is a <a 
href="lucy_Searcher.html">Lucy::Search::Searcher</a> is a <a 
href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_Indexer.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_Indexer.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_Indexer.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_Indexer.html Sun Nov 23 17:42:57 2014
@@ -0,0 +1,247 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Index::Indexer</h1>
+<h2>Name</h2>
+<p>Lucy::Index::Indexer - Build inverted indexes.</p>
+<h2>Description</h2>
+<p>The Indexer class is Apache Lucy's primary tool for managing the content of
+inverted indexes, which may later be searched using
+<a href="lucy_IndexSearcher.html">IndexSearcher</a>.</p>
+<p>In general, only one Indexer at a time may write to an index safely.  If a
+write lock cannot be secured, new() will throw an exception.</p>
+<p>If an index is located on a shared volume, each writer application must
+identify itself by supplying an
+<a href="lucy_IndexManager.html">IndexManager</a> with a unique
+<code>host</code> id to Indexer's constructor or index corruption will
+occur.  See L&lt;Lucy::Docs::FileLocking&gt; for a detailed discussion.</p>
+<p>Note: at present, Delete_By_Term() and Delete_By_Query() only affect
+documents which had been previously committed to the index -- and not any
+documents added this indexing session but not yet committed.  This may
+change in a future update.</p>
+<h2>Functions</h2>
+<dl>
+<dt>new</dt>
+<dd>
+<pre><code>lucy_Indexer* // incremented
+<strong>lucy_Indexer_new</strong>(
+    <a href="lucy_Schema.html">lucy_Schema*</a> <strong>schema</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>index</strong>,
+    <a href="lucy_IndexManager.html">lucy_IndexManager*</a> 
<strong>manager</strong>,
+    int32_t <strong>flags</strong>
+);
+</code></pre>
+</dd>
+<dt>init</dt>
+<dd>
+<pre><code>lucy_Indexer*
+<strong>lucy_Indexer_init</strong>(
+    lucy_Indexer* <strong>self</strong>,
+    <a href="lucy_Schema.html">lucy_Schema*</a> <strong>schema</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>index</strong>,
+    <a href="lucy_IndexManager.html">lucy_IndexManager*</a> 
<strong>manager</strong>,
+    int32_t <strong>flags</strong>
+);
+</code></pre>
+<p>Open a new Indexer.  If the index already exists, update it.</p>
+<dl>
+<dt><emph>schema</emph></dt>
+<dd><p>A Schema.</p>
+</dd>
+<dt><emph>index</emph></dt>
+<dd><p>Either a string filepath or a Folder.</p>
+</dd>
+<dt><emph>manager</emph></dt>
+<dd><p>An IndexManager.</p>
+</dd>
+<dt><emph>flags</emph></dt>
+<dd><p>Flags governing behavior.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h2>Methods</h2>
+<h3>Novel methods</h3>
+<dl>
+<dt>Add_Doc</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Indexer_Add_Doc</strong>(
+    lucy_Indexer* <strong>self</strong>,
+    <a href="lucy_Doc.html">lucy_Doc*</a> <strong>doc</strong>,
+    float <strong>boost</strong>
+);
+</code></pre>
+<p>Add a document to the index.</p>
+<dl>
+<dt><emph>doc</emph></dt>
+<dd><p>A Lucy::Document::Doc object.</p>
+</dd>
+<dt><emph>boost</emph></dt>
+<dd><p>A floating point weight which affects how this document
+scores.</p>
+</dd>
+</dl>
+</dd>
+<dt>Add_Index</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Indexer_Add_Index</strong>(
+    lucy_Indexer* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>index</strong>
+);
+</code></pre>
+<p>Absorb an existing index into this one.  The two indexes must
+have matching Schemas.</p>
+<dl>
+<dt><emph>index</emph></dt>
+<dd><p>Either an index path name or a Folder.</p>
+</dd>
+</dl>
+</dd>
+<dt>Delete_By_Term</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Indexer_Delete_By_Term</strong>(
+    lucy_Indexer* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>field</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>term</strong>
+);
+</code></pre>
+<p>Mark documents which contain the supplied term as deleted, so that
+they will be excluded from search results and eventually removed
+altogether.  The change is not apparent to search apps until after
+Commit() succeeds.</p>
+<dl>
+<dt><emph>field</emph></dt>
+<dd><p>The name of an indexed field. (If it is not spec'd as
+<code>indexed</code>, an error will occur.)</p>
+</dd>
+<dt><emph>term</emph></dt>
+<dd><p>The term which identifies docs to be marked as deleted.  If
+<code>field</code> is associated with an Analyzer, <code>term</code>
+will be processed automatically (so don't pre-process it yourself).</p>
+</dd>
+</dl>
+</dd>
+<dt>Delete_By_Query</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Indexer_Delete_By_Query</strong>(
+    lucy_Indexer* <strong>self</strong>,
+    <a href="lucy_Query.html">lucy_Query*</a> <strong>query</strong>
+);
+</code></pre>
+<p>Mark documents which match the supplied Query as deleted.</p>
+<dl>
+<dt><emph>query</emph></dt>
+<dd><p>A <a href="lucy_Query.html">Query</a>.</p>
+</dd>
+</dl>
+</dd>
+<dt>Delete_By_Doc_ID</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Indexer_Delete_By_Doc_ID</strong>(
+    lucy_Indexer* <strong>self</strong>,
+    int32_t <strong>doc_id</strong>
+);
+</code></pre>
+<p>Mark the document identified by the supplied document ID as deleted.</p>
+<dl>
+<dt><emph>doc_id</emph></dt>
+<dd><p>A L&lt;document id|Lucy::Docs::DocIDs&gt;.</p>
+</dd>
+</dl>
+</dd>
+<dt>Optimize</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Indexer_Optimize</strong>(
+    lucy_Indexer* <strong>self</strong>
+);
+</code></pre>
+<p>Optimize the index for search-time performance.  This may take a
+while, as it can involve rewriting large amounts of data.</p>
+<p>Every Indexer session which changes index content and ends in a
+Commit() creates a new segment.  Once written, segments are never
+modified.  However, they are periodically recycled by feeding their
+content into the segment currently being written.</p>
+<p>The Optimize() method causes all existing index content to be fed back
+into the Indexer.  When Commit() completes after an Optimize(), the
+index will consist of one segment.  So Optimize() must be called
+before Commit().  Also, optimizing a fresh index created from scratch
+has no effect.</p>
+<p>Historically, there was a significant search-time performance benefit
+to collapsing down to a single segment versus even two segments.  Now
+the effect of collapsing is much less significant, and calling
+Optimize() is rarely justified.</p>
+</dd>
+<dt>Commit</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Indexer_Commit</strong>(
+    lucy_Indexer* <strong>self</strong>
+);
+</code></pre>
+<p>Commit any changes made to the index.  Until this is called, none of
+the changes made during an indexing session are permanent.</p>
+<p>Calling Commit() invalidates the Indexer, so if you want to make more
+changes you'll need a new one.</p>
+</dd>
+<dt>Prepare_Commit</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Indexer_Prepare_Commit</strong>(
+    lucy_Indexer* <strong>self</strong>
+);
+</code></pre>
+<p>Perform the expensive setup for Commit() in advance, so that Commit()
+completes quickly.  (If Prepare_Commit() is not called explicitly by
+the user, Commit() will call it internally.)</p>
+</dd>
+<dt>Get_Schema</dt>
+<dd>
+<pre><code><a href="lucy_Schema.html">lucy_Schema*</a>
+<strong>LUCY_Indexer_Get_Schema</strong>(
+    lucy_Indexer* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for schema.</p>
+</dd>
+<dt>Get_Seg_Writer</dt>
+<dd>
+<pre><code><a href="lucy_SegWriter.html">lucy_SegWriter*</a>
+<strong>LUCY_Indexer_Get_Seg_Writer</strong>(
+    lucy_Indexer* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for seg_writer member var.</p>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Index::Indexer is a <a href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>

Added: lucy/site/trunk/content/docs/c/lucy_LeafQuery.html
URL: 
http://svn.apache.org/viewvc/lucy/site/trunk/content/docs/c/lucy_LeafQuery.html?rev=1641230&view=auto
==============================================================================
--- lucy/site/trunk/content/docs/c/lucy_LeafQuery.html (added)
+++ lucy/site/trunk/content/docs/c/lucy_LeafQuery.html Sun Nov 23 17:42:57 2014
@@ -0,0 +1,164 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style type="text/css">
+body {
+    font-family: sans-serif;
+    font-size: 0.85em;
+    max-width: 640px;
+}
+dt {
+    font-weight: bold;
+}
+pre {
+    border: 1px solid #000;
+    padding: 0.2em 0.4em;
+    background: #f6f6f6;
+    font-size: 1.2em;
+}
+code {
+    font-family: "Consolas", "Menlo", monospace;
+}
+</style>
+</head>
+<body>
+<h1>Lucy::Search::LeafQuery</h1>
+<h2>Name</h2>
+<p>Lucy::Search::LeafQuery - Leaf node in a tree created by QueryParser.</p>
+<h2>Description</h2>
+<p>LeafQuery objects serve as leaf nodes in the tree structure generated by
+<a href="lucy_QueryParser.html">QueryParser</a>'s Tree() method.
+Ultimately, they must be transformed, typically into either
+<a href="lucy_TermQuery.html">TermQuery</a> or
+<a href="lucy_PhraseQuery.html">PhraseQuery</a> objects, as attempting to
+search a LeafQuery causes an error.</p>
+<h2>Functions</h2>
+<dl>
+<dt>init</dt>
+<dd>
+<pre><code>lucy_LeafQuery*
+<strong>lucy_LeafQuery_init</strong>(
+    lucy_LeafQuery* <strong>self</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>field</strong>,
+    <a href="cfish_String.html">cfish_String*</a> <strong>text</strong>
+);
+</code></pre>
+<dl>
+<dt><emph>field</emph></dt>
+<dd><p>Optional field name.</p>
+</dd>
+<dt><emph>text</emph></dt>
+<dd><p>Raw query text.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h2>Methods</h2>
+<h3>Novel methods</h3>
+<dl>
+<dt>Get_Field</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a>
+<strong>LUCY_LeafQuery_Get_Field</strong>(
+    lucy_LeafQuery* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for object's <code>field</code> attribute.</p>
+</dd>
+<dt>Get_Text</dt>
+<dd>
+<pre><code><a href="cfish_String.html">cfish_String*</a>
+<strong>LUCY_LeafQuery_Get_Text</strong>(
+    lucy_LeafQuery* <strong>self</strong>
+);
+</code></pre>
+<p>Accessor for object's <code>text</code> attribute.</p>
+</dd>
+</dl>
+<h3>Methods inherited from Lucy::Search::Query</h3><dl>
+<dt>Make_Compiler</dt>
+<dd>
+<pre><code><a href="lucy_Compiler.html">lucy_Compiler*</a> // incremented
+<strong>LUCY_Query_Make_Compiler</strong>(
+    lucy_Query* <strong>self</strong>,
+    <a href="lucy_Searcher.html">lucy_Searcher*</a> <strong>searcher</strong>,
+    float <strong>boost</strong>,
+    bool <strong>subordinate</strong>
+);
+</code></pre>
+<p>Abstract factory method returning a Compiler derived from this Query.</p>
+<dl>
+<dt><emph>searcher</emph></dt>
+<dd><p>A Searcher.</p>
+</dd>
+<dt><emph>boost</emph></dt>
+<dd><p>A scoring multiplier.</p>
+</dd>
+<dt><emph>subordinate</emph></dt>
+<dd><p>Indicates whether the Query is a subquery (as
+opposed to a top-level query).  If false, the implementation must
+invoke Normalize() on the newly minted Compiler object before returning
+it.</p>
+</dd>
+</dl>
+</dd>
+<dt>Set_Boost</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Query_Set_Boost</strong>(
+    lucy_Query* <strong>self</strong>,
+    float <strong>boost</strong>
+);
+</code></pre>
+<p>Set the Query's boost.</p>
+</dd>
+<dt>Get_Boost</dt>
+<dd>
+<pre><code>float
+<strong>LUCY_Query_Get_Boost</strong>(
+    lucy_Query* <strong>self</strong>
+);
+</code></pre>
+<p>Get the Query's boost.</p>
+</dd>
+<dt>Serialize</dt>
+<dd>
+<pre><code>void
+<strong>LUCY_Query_Serialize</strong>(
+    lucy_Query* <strong>self</strong>,
+    <a href="lucy_OutStream.html">lucy_OutStream*</a> 
<strong>outstream</strong>
+);
+</code></pre>
+</dd>
+<dt>Deserialize</dt>
+<dd>
+<pre><code>lucy_Query* // incremented
+<strong>LUCY_Query_Deserialize</strong>(
+    lucy_Query* <strong>self</strong>, // decremented
+    <a href="lucy_InStream.html">lucy_InStream*</a> <strong>instream</strong>
+);
+</code></pre>
+</dd>
+<dt>Dump</dt>
+<dd>
+<pre><code><a href="cfish_Obj.html">cfish_Obj*</a> // incremented
+<strong>LUCY_Query_Dump</strong>(
+    lucy_Query* <strong>self</strong>
+);
+</code></pre>
+</dd>
+<dt>Load</dt>
+<dd>
+<pre><code><a href="cfish_Obj.html">cfish_Obj*</a> // incremented
+<strong>LUCY_Query_Load</strong>(
+    lucy_Query* <strong>self</strong>,
+    <a href="cfish_Obj.html">cfish_Obj*</a> <strong>dump</strong>
+);
+</code></pre>
+</dd>
+</dl>
+<h2>Inheritance</h2>
+<p>Lucy::Search::LeafQuery is a <a 
href="lucy_Query.html">Lucy::Search::Query</a> is a <a 
href="cfish_Obj.html">Clownfish::Obj</a>.</p>
+</body>
+</html>


Reply via email to