Author: buildbot
Date: Tue Jun 10 16:08:15 2014
New Revision: 912123

Log:
Staging update by buildbot for gora

Modified:
    websites/staging/gora/trunk/content/   (props changed)
    websites/staging/gora/trunk/content/current/gora-solr.html

Propchange: websites/staging/gora/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Jun 10 16:08:15 2014
@@ -1 +1 @@
-1601653
+1601670

Modified: websites/staging/gora/trunk/content/current/gora-solr.html
==============================================================================
--- websites/staging/gora/trunk/content/current/gora-solr.html (original)
+++ websites/staging/gora/trunk/content/current/gora-solr.html Tue Jun 10 
16:08:15 2014
@@ -156,78 +156,178 @@ under the License. 
   <div class="container" id="Gora_Gora HBase Module">
 
 <h2 id="overview">Overview</h2>
-<p>This is the main documentation for the gora-hbase module. gora-hbase 
-module enables <a href="http://hbase.apache.org";>Apache HBase</a> backend 
support for Gora. </p>
+<p>This is the main documentation for the gora-solr module. gora-solr 
+module enables <a href="http://lucene.apache.org/solr";>Apache Solr</a> backend 
support for Gora. </p>
 <h2 id="goraproperties">gora.properties</h2>
 <ul>
-<li><code>gora.datastore.default=org.apache.gora.hbase.store.HBaseStore</code> 
- Implementation of the storage class </li>
+<li><code>gora.datastore.default=org.apache.gora.solr.store.SolrStore</code> - 
Implementation of the storage class </li>
 <li><code>gora.datastore.autocreateschema=true</code> - Create the table if 
doesn't exist</li>
-<li><code>gora.datastore.scanner.caching=1000</code> - HBase client cache that 
improves the scan in HBase (default 0)</li>
-<li><code>hbase.client.autoflush.default=false</code> -  HBase autoflushing. 
Enabling autoflush decreases write performance. Available since Gora 0.2. 
Defaults to disabled.</li>
+<li><code>gora.solrstore.solr.url=http://localhost:9876/solr</code> - The URL 
of the Solr server.</li>
+<li><code>gora.solrstore.solr.config</code> -  The <code>solrconfig.xml</code> 
file to be used.</li>
+<li><code>gora.solrstore.solr.schema</code> - The <code>schema.xml</code> file 
to be used.</li>
+<li><code>gora.solrstore.solr.batchSize</code> - A batch size unit (ArrayList) 
of SolrDocument's to be used for writing to Solr. A default value of <b>100</b> 
is used if this value is absent. This value must be of type <b>Integer</b>.</li>
+<li><code>gora.solrstore.solr.solrjserver</code> - The solrj implementation to 
use. This has a default value of <b>http</b> for <i>HttpSolrServer</i>. 
Available options include <b>http</b> (<i>HttpSolrServer</i>), <b>cloud</b> 
(<i>CloudSolrServer</i>), <b>concurrent</b> (<i>ConcurrentUpdateSolrServer</i>) 
and <b>loadbalance</b> (<i>LBSolrServer</i>). This value must be of type 
<b>String</b>.</li>
+<li><code>gora.solrstore.solr.commitWithin</code> - A batch commit unit for 
SolrDocument's used when making (commit) calls to Solr. A default value of 1000 
is used if this value is absent. This value must be of type <b>Integer</b>.</li>
+<li><code>gora.solrstore.solr.resultsSize</code> - The maximum number of 
results to return when we make a call to 
<code>org.apache.gora.solr.store.SolrStore#execute(Query)</code>. This value 
must be of type <b>Integer</b>.</li>
 </ul>
-<h2 id="gora-hbase-mappings">Gora HBase mappings</h2>
-<p>Say we wished to map some Employee data and store it into the 
HBaseStore.</p>
+<h2 id="gora-solr-mappings">Gora Solr mappings</h2>
+<p>Say we wished to map some Employee data and store it into the SolrStore.</p>
 <div class="codehilite"><pre><span class="nt">&lt;gora-orm&gt;</span>
-  <span class="nt">&lt;table</span> <span class="na">name=</span><span 
class="s">&quot;Employee&quot;</span><span class="nt">&gt;</span>
-    <span class="nt">&lt;family</span> <span class="na">name=</span><span 
class="s">&quot;info&quot;</span> 
-            <span class="na">compression=</span><span 
class="s">&quot;$$$&quot;</span> 
-            <span class="na">blockCache=</span><span 
class="s">&quot;$$$&quot;</span> 
-            <span class="na">blockSize=</span><span 
class="s">&quot;$$$&quot;</span> 
-            <span class="na">bloomFilter=</span><span 
class="s">&quot;$$$&quot;</span> 
-            <span class="na">maxVersions=</span><span 
class="s">&quot;$$$&quot;</span> 
-            <span class="na">timeToLive=</span><span 
class="s">&quot;$$$&quot;</span> 
-            <span class="na">inMemory=</span><span 
class="s">&quot;$$$&quot;</span> <span class="nt">/&gt;</span>
-  <span class="nt">&lt;/table&gt;</span>
-
-  <span class="nt">&lt;class</span> <span class="na">name=</span><span 
class="s">&quot;org.apache.gora.examples.generated.Employee&quot;</span> <span 
class="na">keyClass=</span><span class="s">&quot;java.lang.String&quot;</span> 
<span class="na">table=</span><span class="s">&quot;Employee&quot;</span><span 
class="nt">&gt;</span>
-    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;name&quot;</span> <span class="na">family=</span><span 
class="s">&quot;info&quot;</span> <span class="na">qualifier=</span><span 
class="s">&quot;nm&quot;</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;dateOfBirth&quot;</span> <span class="na">family=</span><span 
class="s">&quot;info&quot;</span> <span class="na">qualifier=</span><span 
class="s">&quot;db&quot;</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;ssn&quot;</span> <span class="na">family=</span><span 
class="s">&quot;info&quot;</span> <span class="na">qualifier=</span><span 
class="s">&quot;sn&quot;</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;salary&quot;</span> <span class="na">family=</span><span 
class="s">&quot;info&quot;</span> <span class="na">qualifier=</span><span 
class="s">&quot;sl&quot;</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;boss&quot;</span> <span class="na">family=</span><span 
class="s">&quot;info&quot;</span> <span class="na">qualifier=</span><span 
class="s">&quot;bs&quot;</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;webpage&quot;</span> <span class="na">family=</span><span 
class="s">&quot;info&quot;</span> <span class="na">qualifier=</span><span 
class="s">&quot;wp&quot;</span><span class="nt">/&gt;</span>
-  <span class="nt">&lt;/class&gt;</span>
+    <span class="nt">&lt;class</span> <span class="na">name=</span><span 
class="s">&quot;org.apache.gora.examples.generated.Employee&quot;</span> <span 
class="na">keyClass=</span><span class="s">&quot;java.lang.String&quot;</span> 
<span class="na">table=</span><span class="s">&quot;Employee&quot;</span><span 
class="nt">&gt;</span>
+      <span class="nt">&lt;primarykey</span> <span 
class="na">column=</span><span class="s">&quot;ssn&quot;</span><span 
class="nt">/&gt;</span>
+      <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;name&quot;</span> <span class="na">column=</span><span 
class="s">&quot;name&quot;</span><span class="nt">/&gt;</span>
+      <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;dateOfBirth&quot;</span> <span class="na">column=</span><span 
class="s">&quot;dateOfBirth&quot;</span><span class="nt">/&gt;</span>
+      <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;salary&quot;</span> <span class="na">column=</span><span 
class="s">&quot;salary&quot;</span><span class="nt">/&gt;</span>
+      <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;boss&quot;</span> <span class="na">column=</span><span 
class="s">&quot;boss&quot;</span><span class="nt">/&gt;</span>
+      <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;webpage&quot;</span> <span class="na">column=</span><span 
class="s">&quot;webpage&quot;</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;/class&gt;</span>
 <span class="nt">&lt;/gora-orm&gt;</span>
 </pre></div>
 
 
-<p>Here you can see that we require the definition of two child elements 
within the 
+<p>Here you can see that we require the definition of only one child element 
within the 
 <code>gora-orm</code> mapping configuration, namely;</p>
-<p>The table element; where we specify: </p>
-<ol>
-<li>
-<p>a parameter relating to the HBase table name (String) e.g. 
name=<b>"Employee"</b>, </p>
-</li>
-<li>
-<p>a nested element containing the type and definition of families we wish to 
create within HBase. In this case we create one family <b>info</b> which could 
have a combination of any of the following parameters;</p>
-<p><b>name</b> (String): family name e.g. info</p>
-<p><b>compression</b> (String): the compression option to use in HBase. Please 
see <a href="http://hbase.apache.org/book/compression.html";>HBase 
documentation</a>.</p>
-<p><b>blockCache</b> (boolean):  an LRU cache that contains three levels of 
block priority to allow for scan-resistance and in-memory ColumnFamilies. 
Please see <a 
href="https://hbase.apache.org/book/regionserver.arch.html#block.cache";>HBase 
documentation</a>.</p>
-<p><b>blockSize</b> (Integer): The blocksize can be configured for each 
ColumnFamily in a table, and this defaults to 64k. Larger cell values require 
larger blocksizes. There is an inverse relationship between blocksize and the 
resulting StoreFile indexes (i.e., if the blocksize is doubled then the 
resulting indexes should be roughly halved). Please see <a 
href="http://hbase.apache.org/book/perf.schema.html#schema.cf.blocksize";>HBase 
documentation</a>. </p>
-<p><b>bloomFilter</b> (String): Bloom Filters can be enabled per-ColumnFamily. 
We use <code>HColumnDescriptor.setBloomFilterType(NONE | ROW | ROWCOL)</code> 
to enable blooms per Column Family. Default = NONE for no bloom filters. If 
ROW, the hash of the row will be added to the bloom on each insert. If ROWCOL, 
the hash of the row + column family name + column family qualifier will be 
added to the bloom on each key insert. Please see <a 
href="http://hbase.apache.org/book/perf.schema.html#schema.bloom";>HBase 
documentation</a>.</p>
-<p><b>maxVersions</b> (Integer): The maximum number of row versions to store 
is configured per column family via <code>HColumnDescriptor</code>. The default 
for max versions is <b>3</b>. This is an important parameter because HBase does 
not overwrite row values, but rather stores different values per row by time 
(and qualifier). Excess versions are removed during major compaction's. The 
number of max versions may need to be increased or decreased depending on 
application needs. Please see <a 
href="http://hbase.apache.org/book/schema.versions.html";>HBase 
documentation</a>.</p>
-<p><b>timeToLive</b> (Integer): ColumnFamilies can set a TTL length in 
seconds, and HBase will automatically delete rows once the expiration time is 
reached. This applies to all versions of a row - even the current one. The TTL 
time encoded in the HBase for the row is specified in UTC. Please see <a 
href="https://hbase.apache.org/book/ttl.html";>HBase documentation</a>.</p>
-<p><b>inMemory</b> (Boolean): ColumnFamilies can optionally be defined as 
in-memory. Data is still persisted to disk, just like any other ColumnFamily. 
In-memory blocks have the highest priority in the Block Cache, but it is not a 
guarantee that the entire table will be in memory. Please see <a 
href="http://hbase.apache.org/book/perf.schema.html#cf.in.memory";>HBase 
documentation</a>.</p>
-</li>
-</ol>
 <p>The class element where we specify of persistent fields which values should 
map to. This contains;</p>
 <ol>
 <li>
-<p>a parameter containing the Persistent class name e.g. 
<b>org.apache.gora.examples.generated.Employee</b>, </p>
+<p>a parameter containing the Persistent class <b>name</b> e.g. 
<code>org.apache.gora.examples.generated.Employee</code>, </p>
 </li>
 <li>
-<p>a parameter containing the keyClass e.g. <b>java.lang.String</b> which 
specifies the keys which map to the field values, </p>
+<p>a parameter containing the <b>keyClass</b> e.g. 
<code>java.lang.String</code> which specifies the keys which map to the field 
values, </p>
 </li>
 <li>
-<p>a parameter containing the Table name e.g. <b>Employee</b> which matches to 
the above Table definition,</p>
+<p>a parameter containing the <b>Table name</b> e.g. <code>Employee</code>,</p>
 </li>
 <li>
-<p>finally nested child element(s) mapping fields which are to be persisted 
into HBase. These fields need to be configured such that they receive;</p>
-<p>a parameter containing the <b>name</b> e.g. (name, dateOfBirth, ssn and 
salary respectively), </p>
-<p>a parameter containing the column <b>family</b> to which they belong e.g. 
(all info in this case), </p>
-<p>an optional parameter <b>qualifier</b>, which enables more granular control 
over the data to be persisted into HBase.</p>
+<p>finally nested child element(s) mapping fields which are to be persisted 
into Solr. <b>We must provide a primary key for each object that we wish to 
persist into Solr.</b> Additional object fields need to be configured such that 
they receive;</p>
+<p>a parameter containing the <b>name</b> e.g. (name, dateOfBirth, ssn, 
salary, boss and webpage respectively), </p>
+<p>a parameter containing the <b>column family</b> to which they belong e.g. 
(all info in this case), </p>
 </li>
 </ol>
+<h2 id="solr-schemaxml">Solr Schema.xml</h2>
+<p><code>schema.xml</code> is an essential aspect of defining a storage and 
query model for your Solr data.</p>
+<p>The Solr community maintain their own documentation relating to schema.xml, 
this can be found at <a 
href="http://wiki.apache.org/solr/SchemaXml";>http://wiki.apache.org/solr/SchemaXml</a>.</p>
+<div class="codehilite"><pre><span class="nt">&lt;schema</span> <span 
class="na">name=</span><span class="s">&quot;testexample&quot;</span> <span 
class="na">version=</span><span class="s">&quot;1.5&quot;</span><span 
class="nt">&gt;</span>
+
+  <span class="nt">&lt;fields&gt;</span>
+
+    <span class="c">&lt;!-- Common Fields --&gt;</span>
+    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;_version_&quot;</span> <span class="na">type=</span><span 
class="s">&quot;long&quot;</span> <span class="na">indexed=</span><span 
class="s">&quot;true&quot;</span> <span class="na">stored=</span><span 
class="s">&quot;true&quot;</span><span class="nt">/&gt;</span>
+
+    <span class="c">&lt;!-- Employee Fields --&gt;</span>
+    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;ssn&quot;</span>         <span class="na">type=</span><span 
class="s">&quot;string&quot;</span> <span class="na">indexed=</span><span 
class="s">&quot;true&quot;</span> <span class="na">stored=</span><span 
class="s">&quot;true&quot;</span> <span class="na">required=</span><span 
class="s">&quot;true&quot;</span> <span class="na">multiValued=</span><span 
class="s">&quot;false&quot;</span> <span class="nt">/&gt;</span> 
+    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;name&quot;</span>        <span class="na">type=</span><span 
class="s">&quot;string&quot;</span> <span class="na">indexed=</span><span 
class="s">&quot;true&quot;</span> <span class="na">stored=</span><span 
class="s">&quot;true&quot;</span> <span class="nt">/&gt;</span>
+    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;dateOfBirth&quot;</span> <span class="na">type=</span><span 
class="s">&quot;long&quot;</span> <span class="na">stored=</span><span 
class="s">&quot;true&quot;</span> <span class="nt">/&gt;</span> 
+    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;salary&quot;</span>      <span class="na">type=</span><span 
class="s">&quot;int&quot;</span> <span class="na">stored=</span><span 
class="s">&quot;true&quot;</span> <span class="nt">/&gt;</span> 
+    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;boss&quot;</span>        <span class="na">type=</span><span 
class="s">&quot;binary&quot;</span> <span class="na">stored=</span><span 
class="s">&quot;true&quot;</span> <span class="nt">/&gt;</span>
+    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">&quot;webpage&quot;</span>     <span class="na">type=</span><span 
class="s">&quot;binary&quot;</span> <span class="na">stored=</span><span 
class="s">&quot;true&quot;</span> <span class="nt">/&gt;</span>
+
+  <span class="nt">&lt;/fields&gt;</span>
+
+  <span class="nt">&lt;uniqueKey&gt;</span>ssn<span 
class="nt">&lt;/uniqueKey&gt;</span>
+
+  <span class="nt">&lt;types&gt;</span>
+
+    <span class="nt">&lt;fieldType</span> <span class="na">name=</span><span 
class="s">&quot;string&quot;</span> <span class="na">class=</span><span 
class="s">&quot;solr.StrField&quot;</span> <span 
class="na">sortMissingLast=</span><span class="s">&quot;true&quot;</span> <span 
class="nt">/&gt;</span>
+    <span class="nt">&lt;fieldType</span> <span class="na">name=</span><span 
class="s">&quot;int&quot;</span> <span class="na">class=</span><span 
class="s">&quot;solr.TrieIntField&quot;</span> <span 
class="na">precisionStep=</span><span class="s">&quot;0&quot;</span> <span 
class="na">positionIncrementGap=</span><span 
class="s">&quot;0&quot;</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;fieldType</span> <span class="na">name=</span><span 
class="s">&quot;long&quot;</span> <span class="na">class=</span><span 
class="s">&quot;solr.TrieLongField&quot;</span> <span 
class="na">precisionStep=</span><span class="s">&quot;0&quot;</span> <span 
class="na">positionIncrementGap=</span><span 
class="s">&quot;0&quot;</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;fieldtype</span> <span class="na">name=</span><span 
class="s">&quot;binary&quot;</span> <span class="na">class=</span><span 
class="s">&quot;solr.BinaryField&quot;</span><span class="nt">/&gt;</span>
+
+  <span class="nt">&lt;/types&gt;</span>
+
+<span class="nt">&lt;/schema&gt;</span>
+</pre></div>
+
+
+<h2 id="solr-solrconfigxml">Solr solrconfig.xml</h2>
+<p>Similar to <code>schema.xml</code> above, <code>solrconfig.xml</code> 
documentation is also maintained by the Solr community.</p>
+<p>Please see an example configuration below but also please refer to <a 
href="http://wiki.apache.org/solr/SolrConfigXml";>http://wiki.apache.org/solr/SolrConfigXml</a>.
 </p>
+<div class="codehilite"><pre><span class="nt">&lt;config&gt;</span>
+  <span class="nt">&lt;luceneMatchVersion&gt;</span>LUCENE_40<span 
class="nt">&lt;/luceneMatchVersion&gt;</span>
+  <span class="nt">&lt;dataDir&gt;</span><span class="cp">${</span><span 
class="n">solr</span><span class="o">.</span><span class="n">data</span><span 
class="o">.</span><span class="n">dir</span><span class="p">:</span><span 
class="cp">}</span><span class="nt">&lt;/dataDir&gt;</span>
+  <span class="nt">&lt;directoryFactory</span> <span 
class="na">name=</span><span class="s">&quot;DirectoryFactory&quot;</span> 
+                <span class="na">class=</span><span 
class="s">&quot;</span><span class="cp">${</span><span 
class="n">solr</span><span class="o">.</span><span 
class="n">directoryFactory</span><span class="p">:</span><span 
class="n">solr</span><span class="o">.</span><span 
class="n">NRTCachingDirectoryFactory</span><span class="cp">}</span><span 
class="s">&quot;/</span><span class="nt">&gt;</span> 
+  <span class="nt">&lt;codecFactory</span> <span class="na">class=</span><span 
class="s">&quot;solr.SchemaCodecFactory&quot;/</span><span 
class="nt">&gt;</span>
+  <span class="nt">&lt;schemaFactory</span> <span 
class="na">class=</span><span 
class="s">&quot;ClassicIndexSchemaFactory&quot;/</span><span 
class="nt">&gt;</span>
+  <span class="nt">&lt;indexConfig&gt;</span>
+    <span class="nt">&lt;lockType&gt;</span><span class="cp">${</span><span 
class="n">solr</span><span class="o">.</span><span class="n">lock</span><span 
class="o">.</span><span class="n">type</span><span class="p">:</span><span 
class="n">native</span><span class="cp">}</span><span 
class="nt">&lt;/lockType&gt;</span>
+  <span class="nt">&lt;/indexConfig&gt;</span>
+
+  <span class="nt">&lt;jmx</span> <span class="nt">/&gt;</span>
+
+  <span class="nt">&lt;updateHandler</span> <span 
class="na">class=</span><span 
class="s">&quot;solr.DirectUpdateHandler2&quot;</span><span 
class="nt">&gt;</span>
+    <span class="nt">&lt;updateLog&gt;</span>
+      <span class="nt">&lt;str</span> <span class="na">name=</span><span 
class="s">&quot;dir&quot;</span><span class="nt">&gt;</span><span 
class="cp">${</span><span class="n">solr</span><span class="o">.</span><span 
class="n">ulog</span><span class="o">.</span><span class="n">dir</span><span 
class="p">:</span><span class="cp">}</span><span class="nt">&lt;/str&gt;</span>
+    <span class="nt">&lt;/updateLog&gt;</span>
+  <span class="nt">&lt;/updateHandler&gt;</span>
+
+  <span class="nt">&lt;query&gt;</span>
+    <span class="nt">&lt;maxBooleanClauses&gt;</span>1024<span 
class="nt">&lt;/maxBooleanClauses&gt;</span>
+    <span class="nt">&lt;filterCache</span> <span 
class="na">class=</span><span class="s">&quot;solr.FastLRUCache&quot;</span>
+             <span class="na">size=</span><span 
class="s">&quot;512&quot;</span>
+             <span class="na">initialSize=</span><span 
class="s">&quot;512&quot;</span>
+             <span class="na">autowarmCount=</span><span 
class="s">&quot;0&quot;/</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;queryResultCache</span> <span 
class="na">class=</span><span class="s">&quot;solr.LRUCache&quot;</span>
+                 <span class="na">size=</span><span 
class="s">&quot;512&quot;</span>
+                 <span class="na">initialSize=</span><span 
class="s">&quot;512&quot;</span>
+                 <span class="na">autowarmCount=</span><span 
class="s">&quot;0&quot;/</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;documentCache</span> <span 
class="na">class=</span><span class="s">&quot;solr.LRUCache&quot;</span>
+               <span class="na">size=</span><span 
class="s">&quot;512&quot;</span>
+               <span class="na">initialSize=</span><span 
class="s">&quot;512&quot;</span>
+               <span class="na">autowarmCount=</span><span 
class="s">&quot;0&quot;/</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;enableLazyFieldLoading&gt;</span>true<span 
class="nt">&lt;/enableLazyFieldLoading&gt;</span>
+    <span class="nt">&lt;queryResultWindowSize&gt;</span>20<span 
class="nt">&lt;/queryResultWindowSize&gt;</span>
+    <span class="nt">&lt;queryResultMaxDocsCached&gt;</span>200<span 
class="nt">&lt;/queryResultMaxDocsCached&gt;</span>
+    <span class="nt">&lt;listener</span> <span class="na">event=</span><span 
class="s">&quot;newSearcher&quot;</span> <span class="na">class=</span><span 
class="s">&quot;solr.QuerySenderListener&quot;</span><span 
class="nt">&gt;</span>
+      <span class="nt">&lt;arr</span> <span class="na">name=</span><span 
class="s">&quot;queries&quot;</span><span class="nt">&gt;</span>
+      <span class="nt">&lt;/arr&gt;</span>
+    <span class="nt">&lt;/listener&gt;</span>
+    <span class="nt">&lt;listener</span> <span class="na">event=</span><span 
class="s">&quot;firstSearcher&quot;</span> <span class="na">class=</span><span 
class="s">&quot;solr.QuerySenderListener&quot;</span><span 
class="nt">&gt;</span>
+      <span class="nt">&lt;arr</span> <span class="na">name=</span><span 
class="s">&quot;queries&quot;</span><span class="nt">&gt;</span>
+        <span class="nt">&lt;lst&gt;</span>
+          <span class="nt">&lt;str</span> <span class="na">name=</span><span 
class="s">&quot;q&quot;</span><span class="nt">&gt;</span>static firstSearcher 
warming in solrconfig.xml<span class="nt">&lt;/str&gt;</span>
+        <span class="nt">&lt;/lst&gt;</span>
+      <span class="nt">&lt;/arr&gt;</span>
+    <span class="nt">&lt;/listener&gt;</span>
+    <span class="nt">&lt;useColdSearcher&gt;</span>false<span 
class="nt">&lt;/useColdSearcher&gt;</span>
+    <span class="nt">&lt;maxWarmingSearchers&gt;</span>2<span 
class="nt">&lt;/maxWarmingSearchers&gt;</span>
+  <span class="nt">&lt;/query&gt;</span>
+
+  <span class="nt">&lt;requestDispatcher</span> <span 
class="na">handleSelect=</span><span class="s">&quot;false&quot;</span> <span 
class="nt">&gt;</span>
+    <span class="nt">&lt;requestParsers</span> <span 
class="na">enableRemoteStreaming=</span><span class="s">&quot;true&quot;</span> 
+                <span class="na">multipartUploadLimitInKB=</span><span 
class="s">&quot;2048000&quot;</span>
+                <span class="na">formdataUploadLimitInKB=</span><span 
class="s">&quot;2048&quot;</span>
+                <span class="na">addHttpRequestToContext=</span><span 
class="s">&quot;false&quot;/</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;httpCaching</span> <span 
class="na">never304=</span><span class="s">&quot;true&quot;</span> <span 
class="nt">/&gt;</span>
+  <span class="nt">&lt;/requestDispatcher&gt;</span>
+
+  <span class="nt">&lt;requestHandler</span> <span 
class="na">name=</span><span class="s">&quot;/select&quot;</span> <span 
class="na">class=</span><span 
class="s">&quot;solr.SearchHandler&quot;</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;lst</span> <span class="na">name=</span><span 
class="s">&quot;defaults&quot;</span><span class="nt">&gt;</span>
+      <span class="nt">&lt;str</span> <span class="na">name=</span><span 
class="s">&quot;echoParams&quot;</span><span 
class="nt">&gt;</span>explicit<span class="nt">&lt;/str&gt;</span>
+      <span class="nt">&lt;int</span> <span class="na">name=</span><span 
class="s">&quot;rows&quot;</span><span class="nt">&gt;</span>10<span 
class="nt">&lt;/int&gt;</span>
+      <span class="nt">&lt;str</span> <span class="na">name=</span><span 
class="s">&quot;df&quot;</span><span class="nt">&gt;</span>ssn<span 
class="nt">&lt;/str&gt;</span>
+    <span class="nt">&lt;/lst&gt;</span>
+  <span class="nt">&lt;/requestHandler&gt;</span>
+
+  <span class="nt">&lt;requestHandler</span> <span 
class="na">name=</span><span class="s">&quot;/query&quot;</span> <span 
class="na">class=</span><span 
class="s">&quot;solr.SearchHandler&quot;</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;lst</span> <span class="na">name=</span><span 
class="s">&quot;defaults&quot;</span><span class="nt">&gt;</span>
+      <span class="nt">&lt;str</span> <span class="na">name=</span><span 
class="s">&quot;echoParams&quot;</span><span 
class="nt">&gt;</span>explicit<span class="nt">&lt;/str&gt;</span>
+      <span class="nt">&lt;str</span> <span class="na">name=</span><span 
class="s">&quot;wt&quot;</span><span class="nt">&gt;</span>json<span 
class="nt">&lt;/str&gt;</span>
+      <span class="nt">&lt;str</span> <span class="na">name=</span><span 
class="s">&quot;indent&quot;</span><span class="nt">&gt;</span>true<span 
class="nt">&lt;/str&gt;</span>
+      <span class="nt">&lt;str</span> <span class="na">name=</span><span 
class="s">&quot;df&quot;</span><span class="nt">&gt;</span>ssn<span 
class="nt">&lt;/str&gt;</span>
+    <span class="nt">&lt;/lst&gt;</span>
+  <span class="nt">&lt;/requestHandler&gt;</span>
+
+  <span class="nt">&lt;requestHandler</span> <span 
class="na">name=</span><span class="s">&quot;/get&quot;</span> <span 
class="na">class=</span><span 
class="s">&quot;solr.RealTimeGetHandler&quot;</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;lst</span> <span class="na">name=</span><span 
class="s">&quot;defaults&quot;</span><span class="nt">&gt;</span>
+      <span class="nt">&lt;str</span> <span class="na">name=</span><span 
class="s">&quot;omitHeader&quot;</span><span class="nt">&gt;</span>true<span 
class="nt">&lt;/str&gt;</span>
+    <span class="nt">&lt;/lst&gt;</span>
+  <span class="nt">&lt;/requestHandler&gt;</span>
+
+  <span class="nt">&lt;requestHandler</span> <span 
class="na">name=</span><span class="s">&quot;/update&quot;</span> <span 
class="na">class=</span><span 
class="s">&quot;solr.UpdateRequestHandler&quot;</span><span 
class="nt">&gt;</span>
+  <span class="nt">&lt;/requestHandler&gt;</span>
+<span class="nt">&lt;/config&gt;</span>
+</pre></div>
 
   </div> <!-- /container (main block) -->
 


Reply via email to