<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>LuceneService (Apache Geode 1.15.1)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="LuceneService (Apache Geode 1.15.1)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/geode/cache/lucene/LuceneSerializer.html" title="interface in org.apache.geode.cache.lucene"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/geode/cache/lucene/LuceneServiceProvider.html" title="class in org.apache.geode.cache.lucene"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/geode/cache/lucene/LuceneService.html" target="_top">Frames</a></li>
<li><a href="LuceneService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.geode.cache.lucene</div>
<h2 title="Interface LuceneService" class="title">Interface LuceneService</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">LuceneService</span></pre>
<div class="block">The LuceneService provides the capability to create Lucene indexes and execute lucene queries on
 data stored in Geode regions. The Lucene indexes are automatically maintained by Geode whenever
 entries are updated in the associated regions.

 <p>
 To obtain an instance of LuceneService, use
 <a href="../../../../../org/apache/geode/cache/lucene/LuceneServiceProvider.html#get-org.apache.geode.cache.GemFireCache-"><code>LuceneServiceProvider.get(GemFireCache cache)</code></a>.
 <p>
 Lucene indexes can be created using gfsh, xml, or the java API. Below is an example of creating a
 Lucene index with the java API. The Lucene index should be created on each member that has the
 region that is being indexed.

 <pre>
 {
   &#64;code
       luceneService.createIndexFactory()
        .addField("name")
        .addField("zipcode")
        .addField("email", new KeywordAnalyzer())
        .create(indexName, regionName);
 }
 </pre>
 <p>
 You can also specify what <code>Analyzer</code> to use for each field. In the example above, email is
 being tokenized with the KeywordAnalyzer so it is treated as a single word. The default analyzer
 if none is specified is the <code>StandardAnalyzer</code>.
 <p>


 Indexes should be created on all peers that host the region being indexed. Clients do not need to
 define the index, they can directly execute queries using this service.

 <p>
 Queries on this service can return either the region keys, values, or both that match a Lucene
 query expression. To execute a query, start with the <a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#createLuceneQueryFactory--"><code>createLuceneQueryFactory()</code></a> method.

 <pre>
 {
   &#64;code
   LuceneQuery query = luceneService.createLuceneQueryFactory().setLimit(200).create(indexName,
       regionName, "name:John AND zipcode:97006", defaultField);
   Collection results = query.findValues();
 }
 </pre>

 <p>
 The Lucene index data is colocated with the region that is indexed. This means that the index
 data will be partitioned, copied, or persisted using the same configuration options you provide
 for the region that is indexed. Queries will automatically be distributed in parallel to cover
 all partitions of a partitioned region.
 <p>
 Indexes are maintained asynchronously, so changes to regions may not be immediately reflected in
 the index. This means that queries executed using this service may return stale results. Use the
 <a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#waitUntilFlushed-java.lang.String-java.lang.String-long-java.util.concurrent.TimeUnit-"><code>waitUntilFlushed(String, String, long, TimeUnit)</code></a> method if you need to wait for your
 changes to be indexed before executing a query, however this method should be used sparingly
 because it is an expensive operation.
 <p>
 Currently, only partitioned regions are supported. Creating an index on a region with
 <a href="../../../../../org/apache/geode/cache/DataPolicy.html#REPLICATE"><code>DataPolicy.REPLICATE</code></a> will fail.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#REGION_VALUE_FIELD">REGION_VALUE_FIELD</a></span></code>
<div class="block">A special field name that indicates that the entire region value should be indexed.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/lucene/LuceneIndexFactory.html" title="interface in org.apache.geode.cache.lucene">LuceneIndexFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#createIndexFactory--">createIndexFactory</a></span>()</code>
<div class="block">Get a factory for creating a Lucene index on this member.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryFactory.html" title="interface in org.apache.geode.cache.lucene">LuceneQueryFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#createLuceneQueryFactory--">createLuceneQueryFactory</a></span>()</code>
<div class="block">Create a factory for building a Lucene query.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#destroyIndex-java.lang.String-java.lang.String-">destroyIndex</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;indexName,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionPath)</code>
<div class="block">Destroy the Lucene index</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#destroyIndexes-java.lang.String-">destroyIndexes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionPath)</code>
<div class="block">Destroy all the Lucene indexes for the region</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneIndex.html" title="interface in org.apache.geode.cache.lucene">LuceneIndex</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#getAllIndexes--">getAllIndexes</a></span>()</code>
<div class="block">get all the Lucene indexes.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/Cache.html" title="interface in org.apache.geode.cache">Cache</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#getCache--">getCache</a></span>()</code>
<div class="block">returns the cache to which the LuceneService belongs</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/lucene/LuceneIndex.html" title="interface in org.apache.geode.cache.lucene">LuceneIndex</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#getIndex-java.lang.String-java.lang.String-">getIndex</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;indexName,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionPath)</code>
<div class="block">Get the Lucene index object specified by region name and index name</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#isIndexingInProgress-java.lang.String-java.lang.String-">isIndexingInProgress</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;indexName,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionPath)</code>
<div class="block">Returns if the indexing process is in progress

 Before executing a lucene query, it can be checked if the indexing operation is in progress.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneService.html#waitUntilFlushed-java.lang.String-java.lang.String-long-java.util.concurrent.TimeUnit-">waitUntilFlushed</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;indexName,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionPath,
                long&nbsp;timeout,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
<div class="block">Wait until the current entries in cache are indexed.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="REGION_VALUE_FIELD">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>REGION_VALUE_FIELD</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> REGION_VALUE_FIELD</pre>
<div class="block">A special field name that indicates that the entire region value should be indexed. This will
 only work if the region value is a String or Number, in which case a Lucene document will be
 created with a single field with this name.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.geode.cache.lucene.LuceneService.REGION_VALUE_FIELD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="createIndexFactory--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createIndexFactory</h4>
<pre><a href="../../../../../org/apache/geode/cache/lucene/LuceneIndexFactory.html" title="interface in org.apache.geode.cache.lucene">LuceneIndexFactory</a>&nbsp;createIndexFactory()</pre>
<div class="block">Get a factory for creating a Lucene index on this member.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a factory for creating a Lucene index on this member</dd>
</dl>
</li>
</ul>
<a name="destroyIndex-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroyIndex</h4>
<pre>void&nbsp;destroyIndex(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;indexName,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionPath)</pre>
<div class="block">Destroy the Lucene index</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>indexName</code> - the name of the index to destroy</dd>
<dd><code>regionPath</code> - the path of the region whose index to destroy</dd>
</dl>
</li>
</ul>
<a name="destroyIndexes-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroyIndexes</h4>
<pre>void&nbsp;destroyIndexes(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionPath)</pre>
<div class="block">Destroy all the Lucene indexes for the region</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>regionPath</code> - The path of the region on which to destroy the indexes</dd>
</dl>
</li>
</ul>
<a name="getIndex-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIndex</h4>
<pre><a href="../../../../../org/apache/geode/cache/lucene/LuceneIndex.html" title="interface in org.apache.geode.cache.lucene">LuceneIndex</a>&nbsp;getIndex(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;indexName,
                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionPath)</pre>
<div class="block">Get the Lucene index object specified by region name and index name</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>indexName</code> - index name</dd>
<dd><code>regionPath</code> - region name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>LuceneIndex object</dd>
</dl>
</li>
</ul>
<a name="getAllIndexes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllIndexes</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneIndex.html" title="interface in org.apache.geode.cache.lucene">LuceneIndex</a>&gt;&nbsp;getAllIndexes()</pre>
<div class="block">get all the Lucene indexes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>all index objects in a Collection</dd>
</dl>
</li>
</ul>
<a name="createLuceneQueryFactory--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createLuceneQueryFactory</h4>
<pre><a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryFactory.html" title="interface in org.apache.geode.cache.lucene">LuceneQueryFactory</a>&nbsp;createLuceneQueryFactory()</pre>
<div class="block">Create a factory for building a Lucene query.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a factory for building a Lucene query</dd>
</dl>
</li>
</ul>
<a name="getCache--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCache</h4>
<pre><a href="../../../../../org/apache/geode/cache/Cache.html" title="interface in org.apache.geode.cache">Cache</a>&nbsp;getCache()</pre>
<div class="block">returns the cache to which the LuceneService belongs</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the cache to which the LuceneService belongs</dd>
</dl>
</li>
</ul>
<a name="waitUntilFlushed-java.lang.String-java.lang.String-long-java.util.concurrent.TimeUnit-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitUntilFlushed</h4>
<pre>boolean&nbsp;waitUntilFlushed(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;indexName,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionPath,
                         long&nbsp;timeout,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Wait until the current entries in cache are indexed.

 Lucene indexes are maintained asynchronously. This means that updates to the region will not be
 immediately reflected in the Lucene index. This method will either timeout or wait until any
 data put into the region before this method call is flushed to the lucene index.

 This method is an expensive operation, so using it before every query is highly discouraged.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>indexName</code> - index name</dd>
<dd><code>regionPath</code> - region name</dd>
<dd><code>timeout</code> - max wait time</dd>
<dd><code>unit</code> - Time unit associated with the max wait time</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if entries are flushed within timeout, false if the timeout has elapsed</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the thread is interrupted</dd>
</dl>
</li>
</ul>
<a name="isIndexingInProgress-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isIndexingInProgress</h4>
<pre>boolean&nbsp;isIndexingInProgress(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;indexName,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionPath)</pre>
<div class="block">Returns if the indexing process is in progress

 Before executing a lucene query, it can be checked if the indexing operation is in progress.
 Queries executed during the indexing process will get a
 <code>LuceneIndexCreationInProgressException</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>indexName</code> - index name</dd>
<dd><code>regionPath</code> - region name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the indexing operation is in progress otherwise false.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/geode/cache/lucene/LuceneSerializer.html" title="interface in org.apache.geode.cache.lucene"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/geode/cache/lucene/LuceneServiceProvider.html" title="class in org.apache.geode.cache.lucene"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/geode/cache/lucene/LuceneService.html" target="_top">Frames</a></li>
<li><a href="LuceneService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
