<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3"/>
<title>Lucene.Net: Lucene.Net.Distributed.Configuration.LuceneServerIndex Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="lucene-net-icon-128x128.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Lucene.Net
   &#160;<span id="projectnumber">3.0.3</span>
   </div>
   <div id="projectbrief">Lucene.Net is a .NET port of the Java Lucene Indexing Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="Index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Properties</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespace_lucene.html">Lucene</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net.html">Net</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net_1_1_distributed.html">Distributed</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net_1_1_distributed_1_1_configuration.html">Configuration</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html">LuceneServerIndex</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Lucene.Net.Distributed.Configuration.LuceneServerIndex Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Definition of a configurable search index made accessible by the LuceneServer windows service.  
 <a href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a042a463ed6225b90ab477da222555dc3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html#a042a463ed6225b90ab477da222555dc3">LuceneServerIndex</a> (XmlNode xSection, int defaultPort)</td></tr>
<tr class="memdesc:a042a463ed6225b90ab477da222555dc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Public constructor for <a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html" title="Definition of a configurable search index made accessible by the LuceneServer windows service...">LuceneServerIndex</a>. A <a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html" title="Definition of a configurable search index made accessible by the LuceneServer windows service...">LuceneServerIndex</a> is defined in XML configuration and is loaded via a custom configuration handler.  <a href="#a042a463ed6225b90ab477da222555dc3"></a><br/></td></tr>
<tr class="separator:a042a463ed6225b90ab477da222555dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef1240781c89db580d898bd4c1e77188"><td class="memItemLeft" align="right" valign="top">DirectoryInfo[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html#aef1240781c89db580d898bd4c1e77188">RefreshDirectories</a> (<a class="el" href="namespace_lucene_1_1_net_1_1_distributed_1_1_configuration.html#a4a456a34506d7cddb65f8c5979c7c08c">IndexSetting</a> oIndexSettingRefresh)</td></tr>
<tr class="memdesc:aef1240781c89db580d898bd4c1e77188"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instance method that returns an array of directory paths associated with the given IndexSetting.  <a href="#aef1240781c89db580d898bd4c1e77188"></a><br/></td></tr>
<tr class="separator:aef1240781c89db580d898bd4c1e77188"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a6c64fb7670cf0bdffcb3308f77eb6299"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html#a6c64fb7670cf0bdffcb3308f77eb6299">ObjectUri</a><code> [get]</code></td></tr>
<tr class="memdesc:a6c64fb7670cf0bdffcb3308f77eb6299"><td class="mdescLeft">&#160;</td><td class="mdescRight">The published Uri name for a collective set of indexes. The ObjectUri is referenced by clients consuming the well-known service type. As an example, an ObjectUri of "RemoteSearchIndex" on a system located at 192.168.1.100, exposed on port 1089, would be accessed at "tcp://192.168.1.100:1089/RemoteSearchIndex".  <a href="#a6c64fb7670cf0bdffcb3308f77eb6299"></a><br/></td></tr>
<tr class="separator:a6c64fb7670cf0bdffcb3308f77eb6299"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f7650471a4e383da226951e8d2aeaea"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html#a1f7650471a4e383da226951e8d2aeaea">Port</a><code> [get]</code></td></tr>
<tr class="memdesc:a1f7650471a4e383da226951e8d2aeaea"><td class="mdescLeft">&#160;</td><td class="mdescRight">A definable port number for the published Uri. Use this value to override the default Port setting for all published URIs.  <a href="#a1f7650471a4e383da226951e8d2aeaea"></a><br/></td></tr>
<tr class="separator:a1f7650471a4e383da226951e8d2aeaea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6779b57b91fb82c7b806545e260a77f"><td class="memItemLeft" align="right" valign="top">DirectoryInfo[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html#ae6779b57b91fb82c7b806545e260a77f">IndexADirectories</a><code> [get]</code></td></tr>
<tr class="memdesc:ae6779b57b91fb82c7b806545e260a77f"><td class="mdescLeft">&#160;</td><td class="mdescRight">File-system path to the "IndexA" location of the index files.  <a href="#ae6779b57b91fb82c7b806545e260a77f"></a><br/></td></tr>
<tr class="separator:ae6779b57b91fb82c7b806545e260a77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39dee0033ad751d17506ff1dbd244dbe"><td class="memItemLeft" align="right" valign="top">DirectoryInfo[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html#a39dee0033ad751d17506ff1dbd244dbe">IndexBDirectories</a><code> [get]</code></td></tr>
<tr class="memdesc:a39dee0033ad751d17506ff1dbd244dbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">File-system path to the "IndexB" location of the index files.  <a href="#a39dee0033ad751d17506ff1dbd244dbe"></a><br/></td></tr>
<tr class="separator:a39dee0033ad751d17506ff1dbd244dbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Definition of a configurable search index made accessible by the LuceneServer windows service. </p>
<p>An example configuration would look like the following: <code> &lt;LuceneServerIndexes port="1089"&gt; &lt;LuceneServerIndex objecturi="RemoteIndexes1"&gt; &lt;Directory indexa="c:\lucene\indexA\index1" indexb="c:\lucene\indexB\index1"&gt; &lt;Directory indexa="c:\lucene\indexA\index2" indexb="c:\lucene\indexB\index2"&gt; &lt;/LuceneServerIndex&gt; &lt;LuceneServerIndex objecturi="RemoteIndexes2"&gt; &lt;Directory indexa="c:\lucene\indexA\index3" indexb="c:\lucene\indexB\index3"&gt; &lt;Directory indexa="c:\lucene\indexA\index4" indexb="c:\lucene\indexB\index4"&gt; &lt;/LuceneServerIndex&gt; &lt;/LuceneServerIndexes&gt; </code> </p>

<p>Definition at line <a class="el" href="_lucene_server_index_8cs_source.html#l00044">44</a> of file <a class="el" href="_lucene_server_index_8cs_source.html">LuceneServerIndex.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a042a463ed6225b90ab477da222555dc3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Lucene.Net.Distributed.Configuration.LuceneServerIndex.LuceneServerIndex </td>
          <td>(</td>
          <td class="paramtype">XmlNode&#160;</td>
          <td class="paramname"><em>xSection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>defaultPort</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Public constructor for <a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html" title="Definition of a configurable search index made accessible by the LuceneServer windows service...">LuceneServerIndex</a>. A <a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_index.html" title="Definition of a configurable search index made accessible by the LuceneServer windows service...">LuceneServerIndex</a> is defined in XML configuration and is loaded via a custom configuration handler. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">xSection</td><td>The Xml definition in the configuration file</td></tr>
    <tr><td class="paramname">defaultPort</td><td>The default Port value, as defined in the contained <a class="el" href="class_lucene_1_1_net_1_1_distributed_1_1_configuration_1_1_lucene_server_indexes.html" title="Definition of configurable search indexes made accessible by the LuceneServer windows service...">LuceneServerIndexes</a> configuration</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_lucene_server_index_8cs_source.html#l00059">59</a> of file <a class="el" href="_lucene_server_index_8cs_source.html">LuceneServerIndex.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aef1240781c89db580d898bd4c1e77188"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DirectoryInfo [] Lucene.Net.Distributed.Configuration.LuceneServerIndex.RefreshDirectories </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespace_lucene_1_1_net_1_1_distributed_1_1_configuration.html#a4a456a34506d7cddb65f8c5979c7c08c">IndexSetting</a>&#160;</td>
          <td class="paramname"><em>oIndexSettingRefresh</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Instance method that returns an array of directory paths associated with the given IndexSetting. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">oIndexSettingRefresh</td><td>IndexSetting enumeration value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DirectoryInfo[] of directory paths</dd></dl>

<p>Definition at line <a class="el" href="_lucene_server_index_8cs_source.html#l00165">165</a> of file <a class="el" href="_lucene_server_index_8cs_source.html">LuceneServerIndex.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="ae6779b57b91fb82c7b806545e260a77f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">DirectoryInfo [] Lucene.Net.Distributed.Configuration.LuceneServerIndex.IndexADirectories</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>File-system path to the "IndexA" location of the index files. </p>

<p>Definition at line <a class="el" href="_lucene_server_index_8cs_source.html#l00147">147</a> of file <a class="el" href="_lucene_server_index_8cs_source.html">LuceneServerIndex.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a39dee0033ad751d17506ff1dbd244dbe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">DirectoryInfo [] Lucene.Net.Distributed.Configuration.LuceneServerIndex.IndexBDirectories</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>File-system path to the "IndexB" location of the index files. </p>

<p>Definition at line <a class="el" href="_lucene_server_index_8cs_source.html#l00155">155</a> of file <a class="el" href="_lucene_server_index_8cs_source.html">LuceneServerIndex.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a6c64fb7670cf0bdffcb3308f77eb6299"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">string Lucene.Net.Distributed.Configuration.LuceneServerIndex.ObjectUri</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The published Uri name for a collective set of indexes. The ObjectUri is referenced by clients consuming the well-known service type. As an example, an ObjectUri of "RemoteSearchIndex" on a system located at 192.168.1.100, exposed on port 1089, would be accessed at "tcp://192.168.1.100:1089/RemoteSearchIndex". </p>
<p>This value is required in configuration.</p>

<p>Definition at line <a class="el" href="_lucene_server_index_8cs_source.html#l00129">129</a> of file <a class="el" href="_lucene_server_index_8cs_source.html">LuceneServerIndex.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a1f7650471a4e383da226951e8d2aeaea"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Lucene.Net.Distributed.Configuration.LuceneServerIndex.Port</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A definable port number for the published Uri. Use this value to override the default Port setting for all published URIs. </p>
<p>This value is optional in configuration.</p>

<p>Definition at line <a class="el" href="_lucene_server_index_8cs_source.html#l00139">139</a> of file <a class="el" href="_lucene_server_index_8cs_source.html">LuceneServerIndex.cs</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>contrib/DistributedSearch/Distributed/Configuration/<a class="el" href="_lucene_server_index_8cs_source.html">LuceneServerIndex.cs</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:49 for Lucene.Net by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3
</small></address>
</body>
</html>
