blob: e5c5d9512b1b9159a248aaa03c395f3122d43664 [file] [log] [blame]
<!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.Index.IndexReader 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_index.html">Index</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_lucene_1_1_net_1_1_index_1_1_index_reader-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Lucene.Net.Index.IndexReader Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> is an abstract class, providing an interface for accessing an index. <a class="el" href="namespace_lucene_1_1_net_1_1_search.html">Search</a> of an index is done entirely through this abstract interface, so that any subclass which implements it is searchable. Concrete subclasses of <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> are usually constructed with a call to one of the static <code>open()</code> methods, e.g. <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ad51f1feca975e447b6486d01ed24e1ea" title="Returns an IndexReader reading the index in the given Directory. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. ">Open(Lucene.Net.Store.Directory, bool)</a> For efficiency, in this API documents are often referred to via <em>document numbers</em>, non-negative integers which each name a unique document in the index. These document numbers are ephemeral&ndash;they may change as documents are added to and deleted from an index. Clients should thus not rely on a given document having the same number between sessions. An <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> can be opened on a directory for which an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html" title="An IndexWriter creates and maintains an index. The create argument to the constructor determines whet...">IndexWriter</a> is opened already, but it cannot be used to delete documents from the index then. <b>NOTE</b>: for backwards API compatibility, several methods are not listed as abstract, but have no useful implementations in this base class and instead always throw UnsupportedOperationException. Subclasses are strongly encouraged to override these methods, but in many cases may not need to. <b>NOTE</b>: as of 2.4, it's possible to open a read-only <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> using the static open methods that accepts the boolean readOnly parameter. Such a reader has better better concurrency as it's not necessary to synchronize on the isDeleted method. You must explicitly specify false if you want to make changes with the resulting <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a>. <a class="anchor" id="thread-safety"></a><b>NOTE</b>: <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> instances are completely thread safe, meaning multiple threads can call any of its methods, concurrently. If your application requires external synchronization, you should <b>not</b> synchronize on the <code><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a></code> instance; use your own (non-Lucene) objects instead.
<a href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#details">More...</a></p>
<p>Inherits ICloneable, and IDisposable.</p>
<p>Inherited by <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html">Lucene.Net.Index.FilterIndexReader</a>, Lucene.Net.Index.Memory.MemoryIndex.MemoryIndexReader, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html">Lucene.Net.Index.MultiReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html">Lucene.Net.Index.ParallelReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html">Lucene.Net.Index.SegmentReader</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader_1_1_field_option.html">FieldOption</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constants describing field properties, for example used for <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8c4e81993a2de016248031c3766f3ab7" title="Get a list of unique field names that exist in this index and have the specified field option informa...">IndexReader.GetFieldNames(FieldOption)</a>. <a href="class_lucene_1_1_net_1_1_index_1_1_index_reader_1_1_field_option.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a708656e6bce03eae40f2d08151ef4017"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a708656e6bce03eae40f2d08151ef4017">IncRef</a> ()</td></tr>
<tr class="memdesc:a708656e6bce03eae40f2d08151ef4017"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: increments the refCount of this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> instance. RefCounts are used to determine when a reader can be closed safely, i.e. as soon as there are no more references. Be sure to always call a corresponding <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8bfc113eced23a4b5a1fabb756d1977a" title="Expert: decreases the refCount of this IndexReader instance. If the refCount drops to 0...">DecRef</a>, in a finally clause; otherwise the reader may never be closed. Note that <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a1e6264ef01957145748af40d689eaf4d">Close</a> simply calls decRef(), which means that the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> will not really be closed until <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8bfc113eced23a4b5a1fabb756d1977a" title="Expert: decreases the refCount of this IndexReader instance. If the refCount drops to 0...">DecRef</a> has been called for all outstanding references. <a href="#a708656e6bce03eae40f2d08151ef4017"></a><br/></td></tr>
<tr class="separator:a708656e6bce03eae40f2d08151ef4017"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bfc113eced23a4b5a1fabb756d1977a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8bfc113eced23a4b5a1fabb756d1977a">DecRef</a> ()</td></tr>
<tr class="memdesc:a8bfc113eced23a4b5a1fabb756d1977a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: decreases the refCount of this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> instance. If the refCount drops to 0, then pending changes (if any) are committed to the index and this reader is closed. <a href="#a8bfc113eced23a4b5a1fabb756d1977a"></a><br/></td></tr>
<tr class="separator:a8bfc113eced23a4b5a1fabb756d1977a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdbae91b13509eca9832c2b4aa33591d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#afdbae91b13509eca9832c2b4aa33591d">Reopen</a> ()</td></tr>
<tr class="memdesc:afdbae91b13509eca9832c2b4aa33591d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Refreshes an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> if the index has changed since this instance was (re)opened. Opening an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> is an expensive operation. This method can be used to refresh an existing <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> to reduce these costs. This method tries to only load segments that have changed or were created after the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is <b>not</b> closed and remains usable.<br/>
If the reader is reopened, even though they share resources internally, it's safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys "copy on write" semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method: <a href="#afdbae91b13509eca9832c2b4aa33591d"></a><br/></td></tr>
<tr class="separator:afdbae91b13509eca9832c2b4aa33591d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb66442edce6525c0590527596649466"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#abb66442edce6525c0590527596649466">Reopen</a> (bool openReadOnly)</td></tr>
<tr class="memdesc:abb66442edce6525c0590527596649466"><td class="mdescLeft">&#160;</td><td class="mdescRight">Just like <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#afdbae91b13509eca9832c2b4aa33591d" title="Refreshes an IndexReader if the index has changed since this instance was (re)opened. Opening an IndexReader is an expensive operation. This method can be used to refresh an existing IndexReader to reduce these costs. This method tries to only load segments that have changed or were created after the IndexReader was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is not closed and remains usable. If the reader is reopened, even though they share resources internally, it&#39;s safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys &quot;copy on write&quot; semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method:">Reopen()</a>, except you can change the readOnly of the original reader. If the index is unchanged but readOnly is different then a new reader will be returned. <a href="#abb66442edce6525c0590527596649466"></a><br/></td></tr>
<tr class="separator:abb66442edce6525c0590527596649466"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a472e464ae2c2614f5a1393eaaf8b30fd"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a472e464ae2c2614f5a1393eaaf8b30fd">Reopen</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a> commit)</td></tr>
<tr class="memdesc:a472e464ae2c2614f5a1393eaaf8b30fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: reopen this reader on a specific commit point. This always returns a readOnly reader. If the specified commit point matches what this reader is already on, and this reader is already readOnly, then this same instance is returned; if it is not already readOnly, a readOnly clone is returned. <a href="#a472e464ae2c2614f5a1393eaaf8b30fd"></a><br/></td></tr>
<tr class="separator:a472e464ae2c2614f5a1393eaaf8b30fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85d97a1e9145da71986b43a0c9f162b5"><td class="memItemLeft" align="right" valign="top">virtual System.Object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a85d97a1e9145da71986b43a0c9f162b5">Clone</a> ()</td></tr>
<tr class="memdesc:a85d97a1e9145da71986b43a0c9f162b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently clones the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> (sharing most internal state). On cloning a reader with pending changes (deletions, norms), the original reader transfers its write lock to the cloned reader. This means only the cloned reader may make further changes to the index, and commit the changes to the index on close, but the old reader still reflects all changes made up until it was cloned. Like <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#afdbae91b13509eca9832c2b4aa33591d" title="Refreshes an IndexReader if the index has changed since this instance was (re)opened. Opening an IndexReader is an expensive operation. This method can be used to refresh an existing IndexReader to reduce these costs. This method tries to only load segments that have changed or were created after the IndexReader was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is not closed and remains usable. If the reader is reopened, even though they share resources internally, it&#39;s safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys &quot;copy on write&quot; semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method:">Reopen()</a>, it's safe to make changes to either the original or the cloned reader: all shared mutable state obeys "copy on write" semantics to ensure the changes are not seen by other readers. <a href="#a85d97a1e9145da71986b43a0c9f162b5"></a><br/></td></tr>
<tr class="separator:a85d97a1e9145da71986b43a0c9f162b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e8762cda4403eb997382f9aa841c486"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a7e8762cda4403eb997382f9aa841c486">Clone</a> (bool openReadOnly)</td></tr>
<tr class="memdesc:a7e8762cda4403eb997382f9aa841c486"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clones the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> and optionally changes readOnly. A readOnly reader cannot open a writeable reader. <a href="#a7e8762cda4403eb997382f9aa841c486"></a><br/></td></tr>
<tr class="separator:a7e8762cda4403eb997382f9aa841c486"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19fcb28d3de623659083037f65496d48"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a19fcb28d3de623659083037f65496d48">Directory</a> ()</td></tr>
<tr class="memdesc:a19fcb28d3de623659083037f65496d48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the directory associated with this index. The Default implementation returns the directory specified by subclasses when delegating to the IndexReader(Directory) constructor, or throws an UnsupportedOperationException if one was not specified. <a href="#a19fcb28d3de623659083037f65496d48"></a><br/></td></tr>
<tr class="separator:a19fcb28d3de623659083037f65496d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f912bfed2d6e04c0eb11885c0d048e2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a3f912bfed2d6e04c0eb11885c0d048e2">IsCurrent</a> ()</td></tr>
<tr class="memdesc:a3f912bfed2d6e04c0eb11885c0d048e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether any new changes have occurred to the index since this reader was opened. <a href="#a3f912bfed2d6e04c0eb11885c0d048e2"></a><br/></td></tr>
<tr class="separator:a3f912bfed2d6e04c0eb11885c0d048e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd8de391e51a329838a5f18c80480d60"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#abd8de391e51a329838a5f18c80480d60">IsOptimized</a> ()</td></tr>
<tr class="memdesc:abd8de391e51a329838a5f18c80480d60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks is the index is optimized (if it has a single segment and no deletions). Not implemented in the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> base class. <a href="#abd8de391e51a329838a5f18c80480d60"></a><br/></td></tr>
<tr class="separator:abd8de391e51a329838a5f18c80480d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67c222dd92a57ebf5f1dbd86b86cfce5"><td class="memItemLeft" align="right" valign="top">abstract <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_i_term_freq_vector.html">ITermFreqVector</a>[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a67c222dd92a57ebf5f1dbd86b86cfce5">GetTermFreqVectors</a> (int docNumber)</td></tr>
<tr class="memdesc:a67c222dd92a57ebf5f1dbd86b86cfce5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an array of term frequency vectors for the specified document. The array contains a vector for each vectorized field in the document. Each vector contains terms and frequencies for all terms in a given vectorized field. If no such fields existed, the method returns null. The term vectors that are returned may either be of type <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_i_term_freq_vector.html" title="Provides access to stored term vector of a document field. The vector consists of the name of the fie...">ITermFreqVector</a> or of type <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_position_vector.html" title="Extends TermFreqVector to provide additional information about positions in which each of the terms i...">TermPositionVector</a> if positions or offsets have been stored. <a href="#a67c222dd92a57ebf5f1dbd86b86cfce5"></a><br/></td></tr>
<tr class="separator:a67c222dd92a57ebf5f1dbd86b86cfce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93ef270cec13352696660ca154d4a1be"><td class="memItemLeft" align="right" valign="top">abstract <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_i_term_freq_vector.html">ITermFreqVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a93ef270cec13352696660ca154d4a1be">GetTermFreqVector</a> (int docNumber, String field)</td></tr>
<tr class="memdesc:a93ef270cec13352696660ca154d4a1be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a term frequency vector for the specified document and field. The returned vector contains terms and frequencies for the terms in the specified field of this document, if the field had the storeTermVector flag set. If termvectors had been stored with positions or offsets, a <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_position_vector.html" title="Extends TermFreqVector to provide additional information about positions in which each of the terms i...">TermPositionVector</a> is returned. <a href="#a93ef270cec13352696660ca154d4a1be"></a><br/></td></tr>
<tr class="separator:a93ef270cec13352696660ca154d4a1be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0823bdc082d7b5df9a0e726babc21c2f"><td class="memItemLeft" align="right" valign="top">abstract void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a0823bdc082d7b5df9a0e726babc21c2f">GetTermFreqVector</a> (int docNumber, String field, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_vector_mapper.html">TermVectorMapper</a> mapper)</td></tr>
<tr class="memdesc:a0823bdc082d7b5df9a0e726babc21c2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html" title="A Term represents a word from text. This is the unit of search. It is composed of two elements...">Term</a> Vector into a user-defined data structure instead of relying on the parallel arrays of the <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_i_term_freq_vector.html" title="Provides access to stored term vector of a document field. The vector consists of the name of the fie...">ITermFreqVector</a>. <a href="#a0823bdc082d7b5df9a0e726babc21c2f"></a><br/></td></tr>
<tr class="separator:a0823bdc082d7b5df9a0e726babc21c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a008fd802abde1a7940aad492f76222d3"><td class="memItemLeft" align="right" valign="top">abstract void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a008fd802abde1a7940aad492f76222d3">GetTermFreqVector</a> (int docNumber, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_vector_mapper.html">TermVectorMapper</a> mapper)</td></tr>
<tr class="memdesc:a008fd802abde1a7940aad492f76222d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map all the term vectors for all fields in a Document <a href="#a008fd802abde1a7940aad492f76222d3"></a><br/></td></tr>
<tr class="separator:a008fd802abde1a7940aad492f76222d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a300ecbc61b021d9ae600e1b00c61a851"><td class="memItemLeft" align="right" valign="top">abstract int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a300ecbc61b021d9ae600e1b00c61a851">NumDocs</a> ()</td></tr>
<tr class="memdesc:a300ecbc61b021d9ae600e1b00c61a851"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of documents in this index. <a href="#a300ecbc61b021d9ae600e1b00c61a851"></a><br/></td></tr>
<tr class="separator:a300ecbc61b021d9ae600e1b00c61a851"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5a8698ada40868908ea27f502337ee2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_document.html">Document</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ae5a8698ada40868908ea27f502337ee2">Document</a> (int n)</td></tr>
<tr class="memdesc:ae5a8698ada40868908ea27f502337ee2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the stored fields of the <code>n</code><sup>th</sup> <code>Document</code> in this index. <b>NOTE:</b> for performance reasons, this method does not check if the requested document is deleted, and therefore asking for a deleted document may yield unspecified results. Usually this is not required, however you can call <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a13d56c7f3ac58f9e4990d9df156bada9" title="Returns true if document n has been deleted ">IsDeleted(int)</a> with the requested document ID to verify the document is not deleted. <a href="#ae5a8698ada40868908ea27f502337ee2"></a><br/></td></tr>
<tr class="separator:ae5a8698ada40868908ea27f502337ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99b1172ed4efbc8c652bffd267cef2e9"><td class="memItemLeft" align="right" valign="top">abstract <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_document.html">Document</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a99b1172ed4efbc8c652bffd267cef2e9">Document</a> (int n, <a class="el" href="interface_lucene_1_1_net_1_1_documents_1_1_field_selector.html">FieldSelector</a> fieldSelector)</td></tr>
<tr class="memdesc:a99b1172ed4efbc8c652bffd267cef2e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_document.html" title="Documents are the unit of indexing and search.">Lucene.Net.Documents.Document</a> at the <code>n</code> <sup>th</sup> position. The <a class="el" href="_searchable_8cs.html#a64b447ee53d30ce66ebd27b2715e7bca">FieldSelector</a> may be used to determine what <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_field.html" title="A field is a section of a Document. Each field has two parts, a name and a value. Values may be free ...">Lucene.Net.Documents.Field</a>s to load and how they should be loaded. <b>NOTE:</b> If this Reader (more specifically, the underlying <code><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_fields_reader.html" title="Class responsible for access to stored document fields. It uses &lt;segment&gt;.fdt and &lt;segment&gt;...">FieldsReader</a></code>) is closed before the lazy <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_field.html" title="A field is a section of a Document. Each field has two parts, a name and a value. Values may be free ...">Lucene.Net.Documents.Field</a> is loaded an exception may be thrown. If you want the value of a lazy <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_field.html" title="A field is a section of a Document. Each field has two parts, a name and a value. Values may be free ...">Lucene.Net.Documents.Field</a> to be available after closing you must explicitly load it or fetch the Document again with a new loader. <b>NOTE:</b> for performance reasons, this method does not check if the requested document is deleted, and therefore asking for a deleted document may yield unspecified results. Usually this is not required, however you can call <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a13d56c7f3ac58f9e4990d9df156bada9" title="Returns true if document n has been deleted ">IsDeleted(int)</a> with the requested document ID to verify the document is not deleted. <a href="#a99b1172ed4efbc8c652bffd267cef2e9"></a><br/></td></tr>
<tr class="separator:a99b1172ed4efbc8c652bffd267cef2e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13d56c7f3ac58f9e4990d9df156bada9"><td class="memItemLeft" align="right" valign="top">abstract bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a13d56c7f3ac58f9e4990d9df156bada9">IsDeleted</a> (int n)</td></tr>
<tr class="memdesc:a13d56c7f3ac58f9e4990d9df156bada9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if document <em>n</em> has been deleted <a href="#a13d56c7f3ac58f9e4990d9df156bada9"></a><br/></td></tr>
<tr class="separator:a13d56c7f3ac58f9e4990d9df156bada9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a951d3ff3357bfe9839aff739f79a064e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a951d3ff3357bfe9839aff739f79a064e">HasNorms</a> (System.String field)</td></tr>
<tr class="memdesc:a951d3ff3357bfe9839aff739f79a064e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if there are norms stored for this field. <a href="#a951d3ff3357bfe9839aff739f79a064e"></a><br/></td></tr>
<tr class="separator:a951d3ff3357bfe9839aff739f79a064e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4de7403582385c9c14de9a58fca523c"><td class="memItemLeft" align="right" valign="top">abstract byte[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#af4de7403582385c9c14de9a58fca523c">Norms</a> (System.String field)</td></tr>
<tr class="memdesc:af4de7403582385c9c14de9a58fca523c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the byte-encoded normalization factor for the named field of every document. This is used by the search code to score documents. <a href="#af4de7403582385c9c14de9a58fca523c"></a><br/></td></tr>
<tr class="separator:af4de7403582385c9c14de9a58fca523c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a472badacbf088173c48b9e5055a6faeb"><td class="memItemLeft" align="right" valign="top">abstract void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a472badacbf088173c48b9e5055a6faeb">Norms</a> (System.String field, byte[] bytes, int offset)</td></tr>
<tr class="memdesc:a472badacbf088173c48b9e5055a6faeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the byte-encoded normalization factor for the named field of every document. This is used by the search code to score documents. <a href="#a472badacbf088173c48b9e5055a6faeb"></a><br/></td></tr>
<tr class="separator:a472badacbf088173c48b9e5055a6faeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8258426814ce3796c5000a09c00f8ea0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8258426814ce3796c5000a09c00f8ea0">SetNorm</a> (int doc, String field, byte value)</td></tr>
<tr class="memdesc:a8258426814ce3796c5000a09c00f8ea0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: Resets the normalization factor for the named field of the named document. The norm represents the product of the field's <a class="el" href="">boost</a> and its <a class="el" href="">length normalization</a>. Thus, to preserve the length normalization values when resetting this, one should base the new value upon the old. <a href="#a8258426814ce3796c5000a09c00f8ea0"></a><br/></td></tr>
<tr class="separator:a8258426814ce3796c5000a09c00f8ea0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a430b03fb03354132c29ee8d6081adf54"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a430b03fb03354132c29ee8d6081adf54">SetNorm</a> (int doc, System.String field, float value)</td></tr>
<tr class="memdesc:a430b03fb03354132c29ee8d6081adf54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: Resets the normalization factor for the named field of the named document. <a href="#a430b03fb03354132c29ee8d6081adf54"></a><br/></td></tr>
<tr class="separator:a430b03fb03354132c29ee8d6081adf54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9881fb10c3dbc407157b0c7e9cca7d11"><td class="memItemLeft" align="right" valign="top">abstract <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_enum.html">TermEnum</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a9881fb10c3dbc407157b0c7e9cca7d11">Terms</a> ()</td></tr>
<tr class="memdesc:a9881fb10c3dbc407157b0c7e9cca7d11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an enumeration of all the terms in the index. The enumeration is ordered by Term.compareTo(). Each term is greater than all that precede it in the enumeration. Note that after calling terms(), <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_enum.html#a3821b36f91dd29129649dc64f5ee1738" title="Increments the enumeration to the next element. True if one exists.">TermEnum.Next()</a> must be called on the resulting enumeration before calling other methods such as <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_enum.html#acfd949e542b23691974b3f867bcae47f" title="Returns the current Term in the enumeration.">TermEnum.Term</a>. <a href="#a9881fb10c3dbc407157b0c7e9cca7d11"></a><br/></td></tr>
<tr class="separator:a9881fb10c3dbc407157b0c7e9cca7d11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a988a40eef7a24cfd117d421b3d1f5ef7"><td class="memItemLeft" align="right" valign="top">abstract <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_enum.html">TermEnum</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a988a40eef7a24cfd117d421b3d1f5ef7">Terms</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html">Term</a> t)</td></tr>
<tr class="memdesc:a988a40eef7a24cfd117d421b3d1f5ef7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an enumeration of all terms starting at a given term. If the given term does not exist, the enumeration is positioned at the first term greater than the supplied term. The enumeration is ordered by Term.compareTo(). Each term is greater than all that precede it in the enumeration. <a href="#a988a40eef7a24cfd117d421b3d1f5ef7"></a><br/></td></tr>
<tr class="separator:a988a40eef7a24cfd117d421b3d1f5ef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64a1dd38f0e39bd79e5f46ce59ce967b"><td class="memItemLeft" align="right" valign="top">abstract int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a64a1dd38f0e39bd79e5f46ce59ce967b">DocFreq</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html">Term</a> t)</td></tr>
<tr class="memdesc:a64a1dd38f0e39bd79e5f46ce59ce967b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of documents containing the term <code>t</code>. <a href="#a64a1dd38f0e39bd79e5f46ce59ce967b"></a><br/></td></tr>
<tr class="separator:a64a1dd38f0e39bd79e5f46ce59ce967b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbbce30c73e871a7cf5c151ee0c775b9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_docs.html">TermDocs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#acbbce30c73e871a7cf5c151ee0c775b9">TermDocs</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html">Term</a> term)</td></tr>
<tr class="memdesc:acbbce30c73e871a7cf5c151ee0c775b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an enumeration of all the documents which contain <code>term</code>. For each document, the document number, the frequency of the term in that document is also provided, for use in search scoring. If term is null, then all non-deleted docs are returned with freq=1. Thus, this method implements the mapping: <ul>
</ul>
<p>&amp;#160;&amp;#160; =&gt; &amp;#160;&amp;#160; &lt;docNum, freq&gt;<sup>*</sup> The enumeration is ordered by document number. Each document number is greater than all that precede it in the enumeration. <a href="#acbbce30c73e871a7cf5c151ee0c775b9"></a><br/></td></tr>
<tr class="separator:acbbce30c73e871a7cf5c151ee0c775b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1135d529c2f501ae0eb6ee191ab3bea4"><td class="memItemLeft" align="right" valign="top">abstract <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_docs.html">TermDocs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a1135d529c2f501ae0eb6ee191ab3bea4">TermDocs</a> ()</td></tr>
<tr class="memdesc:a1135d529c2f501ae0eb6ee191ab3bea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an unpositioned <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_docs.html" title="TermDocs provides an interface for enumerating &lt;document, frequency&gt; pairs for a term. The document portion names each document containing the term. Documents are indicated by number. The frequency portion gives the number of times the term occurred in each document. The pairs are ordered by document number. ">Lucene.Net.Index.TermDocs</a> enumerator. <a href="#a1135d529c2f501ae0eb6ee191ab3bea4"></a><br/></td></tr>
<tr class="separator:a1135d529c2f501ae0eb6ee191ab3bea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37d6736775ea229e6d58a87fddb8f4cb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_positions.html">TermPositions</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a37d6736775ea229e6d58a87fddb8f4cb">TermPositions</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html">Term</a> term)</td></tr>
<tr class="memdesc:a37d6736775ea229e6d58a87fddb8f4cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an enumeration of all the documents which contain <code>term</code>. For each document, in addition to the document number and frequency of the term in that document, a list of all of the ordinal positions of the term in the document is available. Thus, this method implements the mapping: <a href="#a37d6736775ea229e6d58a87fddb8f4cb"></a><br/></td></tr>
<tr class="separator:a37d6736775ea229e6d58a87fddb8f4cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1387e3e694830317f2d14143500c20a0"><td class="memItemLeft" align="right" valign="top">abstract <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_positions.html">TermPositions</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a1387e3e694830317f2d14143500c20a0">TermPositions</a> ()</td></tr>
<tr class="memdesc:a1387e3e694830317f2d14143500c20a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an unpositioned <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_positions.html" title="TermPositions provides an interface for enumerating the &lt;document, frequency, &lt;position&gt;* &gt; tuples fo...">Lucene.Net.Index.TermPositions</a> enumerator. <a href="#a1387e3e694830317f2d14143500c20a0"></a><br/></td></tr>
<tr class="separator:a1387e3e694830317f2d14143500c20a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b7fd13e4df23385d13d129a361e632e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a3b7fd13e4df23385d13d129a361e632e">DeleteDocument</a> (int docNum)</td></tr>
<tr class="memdesc:a3b7fd13e4df23385d13d129a361e632e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the document numbered <code>docNum</code>. Once a document is deleted it will not appear in <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_docs.html" title="TermDocs provides an interface for enumerating &lt;document, frequency&gt; pairs for a term. The document portion names each document containing the term. Documents are indicated by number. The frequency portion gives the number of times the term occurred in each document. The pairs are ordered by document number. ">TermDocs</a> or TermPostitions enumerations. Attempts to read its field with the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ae5a8698ada40868908ea27f502337ee2" title="Returns the stored fields of the nth Document in this index. NOTE: for performance reasons...">Document(int)</a> method will result in an error. The presence of this document may still be reflected in the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a64a1dd38f0e39bd79e5f46ce59ce967b" title="Returns the number of documents containing the term t.">DocFreq</a> statistic, though this will be corrected eventually as the index is further modified. <a href="#a3b7fd13e4df23385d13d129a361e632e"></a><br/></td></tr>
<tr class="separator:a3b7fd13e4df23385d13d129a361e632e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6cb087e83a3831cf5817fb2c954433e"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ab6cb087e83a3831cf5817fb2c954433e">DeleteDocuments</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html">Term</a> term)</td></tr>
<tr class="memdesc:ab6cb087e83a3831cf5817fb2c954433e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes all documents that have a given <code>term</code> indexed. This is useful if one uses a document field to hold a unique ID string for the document. Then to delete such a document, one merely constructs a term with the appropriate field and the unique ID string as its text and passes it to this method. See <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a3b7fd13e4df23385d13d129a361e632e" title="Deletes the document numbered docNum. Once a document is deleted it will not appear in TermDocs or Te...">DeleteDocument(int)</a> for information about when this deletion will become effective. <a href="#ab6cb087e83a3831cf5817fb2c954433e"></a><br/></td></tr>
<tr class="separator:ab6cb087e83a3831cf5817fb2c954433e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa45508588151dc9292027f8a88a5abb4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#aa45508588151dc9292027f8a88a5abb4">UndeleteAll</a> ()</td></tr>
<tr class="memdesc:aa45508588151dc9292027f8a88a5abb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undeletes all documents currently marked as deleted in this index. <a href="#aa45508588151dc9292027f8a88a5abb4"></a><br/></td></tr>
<tr class="separator:aa45508588151dc9292027f8a88a5abb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a862590efe934e6950d00a17f01fcb37f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a862590efe934e6950d00a17f01fcb37f">Flush</a> ()</td></tr>
<tr class="memdesc:a862590efe934e6950d00a17f01fcb37f"><td class="mdescLeft">&#160;</td><td class="mdescRight"> <a href="#a862590efe934e6950d00a17f01fcb37f"></a><br/></td></tr>
<tr class="separator:a862590efe934e6950d00a17f01fcb37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae901a0307a030ada9552b6809c675dac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ae901a0307a030ada9552b6809c675dac">Flush</a> (IDictionary&lt; string, string &gt; commitUserData)</td></tr>
<tr class="separator:ae901a0307a030ada9552b6809c675dac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8955a08bb1c30bbd1630945ee94556bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8955a08bb1c30bbd1630945ee94556bf">Commit</a> ()</td></tr>
<tr class="memdesc:a8955a08bb1c30bbd1630945ee94556bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit changes resulting from delete, undeleteAll, or setNorm operations <a href="#a8955a08bb1c30bbd1630945ee94556bf"></a><br/></td></tr>
<tr class="separator:a8955a08bb1c30bbd1630945ee94556bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57e8bdf94bb134f336f53899d71c51a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a57e8bdf94bb134f336f53899d71c51a0">Commit</a> (IDictionary&lt; string, string &gt; commitUserData)</td></tr>
<tr class="memdesc:a57e8bdf94bb134f336f53899d71c51a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit changes resulting from delete, undeleteAll, or setNorm operations <a href="#a57e8bdf94bb134f336f53899d71c51a0"></a><br/></td></tr>
<tr class="separator:a57e8bdf94bb134f336f53899d71c51a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e6264ef01957145748af40d689eaf4d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a1e6264ef01957145748af40d689eaf4d">Close</a> ()</td></tr>
<tr class="separator:a1e6264ef01957145748af40d689eaf4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a866d1055e05a4dc6dd65bc517b46b7f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a866d1055e05a4dc6dd65bc517b46b7f0">Dispose</a> ()</td></tr>
<tr class="memdesc:a866d1055e05a4dc6dd65bc517b46b7f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes files associated with this index. Also saves any new deletions to disk. No other methods should be called after this has been called. <a href="#a866d1055e05a4dc6dd65bc517b46b7f0"></a><br/></td></tr>
<tr class="separator:a866d1055e05a4dc6dd65bc517b46b7f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c4e81993a2de016248031c3766f3ab7"><td class="memItemLeft" align="right" valign="top">abstract ICollection&lt; string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8c4e81993a2de016248031c3766f3ab7">GetFieldNames</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader_1_1_field_option.html">FieldOption</a> fldOption)</td></tr>
<tr class="memdesc:a8c4e81993a2de016248031c3766f3ab7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a list of unique field names that exist in this index and have the specified field option information. <a href="#a8c4e81993a2de016248031c3766f3ab7"></a><br/></td></tr>
<tr class="separator:a8c4e81993a2de016248031c3766f3ab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80ce49bcb14cf6c51f87404115ab705c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a80ce49bcb14cf6c51f87404115ab705c">GetSequentialSubReaders</a> ()</td></tr>
<tr class="memdesc:a80ce49bcb14cf6c51f87404115ab705c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: returns the sequential sub readers that this reader is logically composed of. For example, IndexSearcher uses this API to drive searching by one sub reader at a time. If this reader is not composed of sequential child readers, it should return null. If this method returns an empty array, that means this reader is a null reader (for example a <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html" title="An IndexReader which reads multiple indexes, appending their content. ">MultiReader</a> that has no sub readers). NOTE: You should not try using sub-readers returned by this method to make any changes (setNorm, deleteDocument, etc.). While this might succeed for one composite reader (like <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html" title="An IndexReader which reads multiple indexes, appending their content. ">MultiReader</a>), it will most likely lead to index corruption for other readers (like <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html" title="An IndexReader which reads indexes with multiple segments.">DirectoryReader</a> obtained through <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ad51f1feca975e447b6486d01ed24e1ea" title="Returns an IndexReader reading the index in the given Directory. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. ">IndexReader.Open(Lucene.Net.Store.Directory,bool)</a>. Use the parent reader directly. <a href="#a80ce49bcb14cf6c51f87404115ab705c"></a><br/></td></tr>
<tr class="separator:a80ce49bcb14cf6c51f87404115ab705c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ad51f1feca975e447b6486d01ed24e1ea"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ad51f1feca975e447b6486d01ed24e1ea">Open</a> (<a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a> directory, bool readOnly)</td></tr>
<tr class="memdesc:ad51f1feca975e447b6486d01ed24e1ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given Directory. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. <a href="#ad51f1feca975e447b6486d01ed24e1ea"></a><br/></td></tr>
<tr class="separator:ad51f1feca975e447b6486d01ed24e1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac65de03d67a43ad405662f5d7ccf6b8e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ac65de03d67a43ad405662f5d7ccf6b8e">Open</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a> commit, bool readOnly)</td></tr>
<tr class="memdesc:ac65de03d67a43ad405662f5d7ccf6b8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html" title="Expert: represents a single commit into an index as seen by the IndexDeletionPolicy or IndexReader...">IndexCommit</a>. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. <a href="#ac65de03d67a43ad405662f5d7ccf6b8e"></a><br/></td></tr>
<tr class="separator:ac65de03d67a43ad405662f5d7ccf6b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3af65a9b14014f893a9bcc4c52557f5c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a3af65a9b14014f893a9bcc4c52557f5c">Open</a> (<a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a> directory, <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html">IndexDeletionPolicy</a> deletionPolicy, bool readOnly)</td></tr>
<tr class="memdesc:a3af65a9b14014f893a9bcc4c52557f5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given Directory, with a custom <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html" title="Expert: policy for deletion of stale index commits.">IndexDeletionPolicy</a> . You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. <a href="#a3af65a9b14014f893a9bcc4c52557f5c"></a><br/></td></tr>
<tr class="separator:a3af65a9b14014f893a9bcc4c52557f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fb2d9e7c2ee967a47b0147214c3c452"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a7fb2d9e7c2ee967a47b0147214c3c452">Open</a> (<a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a> directory, <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html">IndexDeletionPolicy</a> deletionPolicy, bool readOnly, int termInfosIndexDivisor)</td></tr>
<tr class="memdesc:a7fb2d9e7c2ee967a47b0147214c3c452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given Directory, with a custom <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html" title="Expert: policy for deletion of stale index commits.">IndexDeletionPolicy</a> . You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. <a href="#a7fb2d9e7c2ee967a47b0147214c3c452"></a><br/></td></tr>
<tr class="separator:a7fb2d9e7c2ee967a47b0147214c3c452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac436899197af7c17e2d24d5384918d6f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ac436899197af7c17e2d24d5384918d6f">Open</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a> commit, <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html">IndexDeletionPolicy</a> deletionPolicy, bool readOnly)</td></tr>
<tr class="memdesc:ac436899197af7c17e2d24d5384918d6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given Directory, using a specific commit and with a custom <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html" title="Expert: policy for deletion of stale index commits.">IndexDeletionPolicy</a>. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. <a href="#ac436899197af7c17e2d24d5384918d6f"></a><br/></td></tr>
<tr class="separator:ac436899197af7c17e2d24d5384918d6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21bfa244441089e6d787c2342c96029a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a21bfa244441089e6d787c2342c96029a">Open</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a> commit, <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html">IndexDeletionPolicy</a> deletionPolicy, bool readOnly, int termInfosIndexDivisor)</td></tr>
<tr class="memdesc:a21bfa244441089e6d787c2342c96029a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given Directory, using a specific commit and with a custom <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html" title="Expert: policy for deletion of stale index commits.">IndexDeletionPolicy</a>. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. <a href="#a21bfa244441089e6d787c2342c96029a"></a><br/></td></tr>
<tr class="separator:a21bfa244441089e6d787c2342c96029a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd833156064d8205cdb330f56ee9374a"><td class="memItemLeft" align="right" valign="top">static long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#acd833156064d8205cdb330f56ee9374a">LastModified</a> (<a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a> directory2)</td></tr>
<tr class="memdesc:acd833156064d8205cdb330f56ee9374a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the time the index in the named directory was last modified. Do not use this to check whether the reader is still up-to-date, use <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a3f912bfed2d6e04c0eb11885c0d048e2" title="Check whether any new changes have occurred to the index since this reader was opened.">IsCurrent()</a> instead. <a href="#acd833156064d8205cdb330f56ee9374a"></a><br/></td></tr>
<tr class="separator:acd833156064d8205cdb330f56ee9374a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeffbf34aec5b328a1637a2b0e68902a4"><td class="memItemLeft" align="right" valign="top">static long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#aeffbf34aec5b328a1637a2b0e68902a4">GetCurrentVersion</a> (<a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a> directory)</td></tr>
<tr class="memdesc:aeffbf34aec5b328a1637a2b0e68902a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads version number from segments files. The version number is initialized with a timestamp and then increased by one for each change of the index. <a href="#aeffbf34aec5b328a1637a2b0e68902a4"></a><br/></td></tr>
<tr class="separator:aeffbf34aec5b328a1637a2b0e68902a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cb47d1bfbb41869b706163ca46da1e4"><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
System.Collections.Generic.IDictionary<br class="typebreak"/>
&lt; string, string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a9cb47d1bfbb41869b706163ca46da1e4">GetCommitUserData</a> (<a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a> directory)</td></tr>
<tr class="memdesc:a9cb47d1bfbb41869b706163ca46da1e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads commitUserData, previously passed to IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}), from current index segments file. This will return null if IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}) has never been called for this index. <a href="#a9cb47d1bfbb41869b706163ca46da1e4"></a><br/></td></tr>
<tr class="separator:a9cb47d1bfbb41869b706163ca46da1e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad520cfb53db384fc3249e7ff4a8b2e97"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ad520cfb53db384fc3249e7ff4a8b2e97">IndexExists</a> (<a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a> directory)</td></tr>
<tr class="memdesc:ad520cfb53db384fc3249e7ff4a8b2e97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if an index exists at the specified directory. If the directory does not exist or if there is no index in it. <a href="#ad520cfb53db384fc3249e7ff4a8b2e97"></a><br/></td></tr>
<tr class="separator:ad520cfb53db384fc3249e7ff4a8b2e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea84e847fcc80fa30ad48d3a9a21cb62"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#aea84e847fcc80fa30ad48d3a9a21cb62">Main</a> (String[] args)</td></tr>
<tr class="memdesc:aea84e847fcc80fa30ad48d3a9a21cb62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the filename and size of each file within a given compound file. Add the -extract flag to extract files to the current working directory. In order to make the extracted version of the index work, you have to copy the segments file from the compound index into the directory where the extracted files are stored. <a href="#aea84e847fcc80fa30ad48d3a9a21cb62"></a><br/></td></tr>
<tr class="separator:aea84e847fcc80fa30ad48d3a9a21cb62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec373bf57cf74ef8ba81ac40455214e8"><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
System.Collections.Generic.ICollection<br class="typebreak"/>
&lt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#aec373bf57cf74ef8ba81ac40455214e8">ListCommits</a> (<a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a> dir)</td></tr>
<tr class="memdesc:aec373bf57cf74ef8ba81ac40455214e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all commit points that exist in the Directory. Normally, because the default is <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_keep_only_last_commit_deletion_policy.html" title="This IndexDeletionPolicy implementation that keeps only the most recent commit and immediately remove...">KeepOnlyLastCommitDeletionPolicy</a> , there would be only one commit point. But if you're using a custom <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html" title="Expert: policy for deletion of stale index commits.">IndexDeletionPolicy</a> then there could be many commits. Once you have a given commit, you can open a reader on it by calling <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ac65de03d67a43ad405662f5d7ccf6b8e" title="Expert: returns an IndexReader reading the index in the given IndexCommit. You should pass readOnly=t...">IndexReader.Open(IndexCommit,bool)</a> There must be at least one commit in the Directory, else this method throws System.IO.IOException. Note that if a commit is in progress while this method is running, that commit may or may not be returned array. <a href="#aec373bf57cf74ef8ba81ac40455214e8"></a><br/></td></tr>
<tr class="separator:aec373bf57cf74ef8ba81ac40455214e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a9ae0d97574a185f4cbb7fffcea8942d0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a9ae0d97574a185f4cbb7fffcea8942d0">Dispose</a> (bool disposing)</td></tr>
<tr class="separator:a9ae0d97574a185f4cbb7fffcea8942d0"><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:a9632e524a7f614fc4b1358a16bd0b4de"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a9632e524a7f614fc4b1358a16bd0b4de">RefCount</a><code> [get]</code></td></tr>
<tr class="memdesc:a9632e524a7f614fc4b1358a16bd0b4de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: returns the current refCount for this reader <a href="#a9632e524a7f614fc4b1358a16bd0b4de"></a><br/></td></tr>
<tr class="separator:a9632e524a7f614fc4b1358a16bd0b4de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad20c89b2d918432b2083d6db38b6f99"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#aad20c89b2d918432b2083d6db38b6f99">Version</a><code> [get]</code></td></tr>
<tr class="memdesc:aad20c89b2d918432b2083d6db38b6f99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version number when this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> was opened. Not implemented in the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> base class. <a href="#aad20c89b2d918432b2083d6db38b6f99"></a><br/></td></tr>
<tr class="separator:aad20c89b2d918432b2083d6db38b6f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b55ed6495684a88e35b92b02da238f2"><td class="memItemLeft" align="right" valign="top">virtual IDictionary&lt; string, <br class="typebreak"/>
string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a4b55ed6495684a88e35b92b02da238f2">CommitUserData</a><code> [get]</code></td></tr>
<tr class="memdesc:a4b55ed6495684a88e35b92b02da238f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the String userData optionally passed to IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}). This will return null if IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}) has never been called for this index. <a href="#a4b55ed6495684a88e35b92b02da238f2"></a><br/></td></tr>
<tr class="separator:a4b55ed6495684a88e35b92b02da238f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7694e685dde51863b8974da924fa439"><td class="memItemLeft" align="right" valign="top">abstract int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ac7694e685dde51863b8974da924fa439">MaxDoc</a><code> [get]</code></td></tr>
<tr class="memdesc:ac7694e685dde51863b8974da924fa439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns one greater than the largest possible document number. This may be used to, e.g., determine how big to allocate an array which will have an element for every document number in an index. <a href="#ac7694e685dde51863b8974da924fa439"></a><br/></td></tr>
<tr class="separator:ac7694e685dde51863b8974da924fa439"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ca390814a8df63b33d2221348b61552"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8ca390814a8df63b33d2221348b61552">NumDeletedDocs</a><code> [get]</code></td></tr>
<tr class="memdesc:a8ca390814a8df63b33d2221348b61552"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of deleted documents. <a href="#a8ca390814a8df63b33d2221348b61552"></a><br/></td></tr>
<tr class="separator:a8ca390814a8df63b33d2221348b61552"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa614c1d7097682aed364038af8a71b65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_document.html">Document</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#aa614c1d7097682aed364038af8a71b65">this[int doc]</a><code> [get]</code></td></tr>
<tr class="memdesc:aa614c1d7097682aed364038af8a71b65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the stored fields of the <code>n</code><sup>th</sup> <code>Document</code> in this index. <b>NOTE:</b> for performance reasons, this method does not check if the requested document is deleted, and therefore asking for a deleted document may yield unspecified results. Usually this is not required, however you can call <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a13d56c7f3ac58f9e4990d9df156bada9" title="Returns true if document n has been deleted ">IsDeleted(int)</a> with the requested document ID to verify the document is not deleted. <a href="#aa614c1d7097682aed364038af8a71b65"></a><br/></td></tr>
<tr class="separator:aa614c1d7097682aed364038af8a71b65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5873f4e3a1253dd2cad0849eb74d9e0"><td class="memItemLeft" align="right" valign="top">abstract bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ae5873f4e3a1253dd2cad0849eb74d9e0">HasDeletions</a><code> [get]</code></td></tr>
<tr class="memdesc:ae5873f4e3a1253dd2cad0849eb74d9e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if any documents have been deleted <a href="#ae5873f4e3a1253dd2cad0849eb74d9e0"></a><br/></td></tr>
<tr class="separator:ae5873f4e3a1253dd2cad0849eb74d9e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadd790323f856361d838541f9bea9dc3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#aadd790323f856361d838541f9bea9dc3">IndexCommit</a><code> [get]</code></td></tr>
<tr class="memdesc:aadd790323f856361d838541f9bea9dc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: return the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html" title="Expert: represents a single commit into an index as seen by the IndexDeletionPolicy or IndexReader...">IndexCommit</a> that this reader has opened. This method is only implemented by those readers that correspond to a Directory with its own segments_N file. <a href="#aadd790323f856361d838541f9bea9dc3"></a><br/></td></tr>
<tr class="separator:aadd790323f856361d838541f9bea9dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01f3ebc46e11eaae1a961a7abe4c1f3c"><td class="memItemLeft" align="right" valign="top">virtual object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a01f3ebc46e11eaae1a961a7abe4c1f3c">FieldCacheKey</a><code> [get]</code></td></tr>
<tr class="memdesc:a01f3ebc46e11eaae1a961a7abe4c1f3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert <a href="#a01f3ebc46e11eaae1a961a7abe4c1f3c"></a><br/></td></tr>
<tr class="separator:a01f3ebc46e11eaae1a961a7abe4c1f3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6a1050e8d3ba2f77ea808eef934e7ed"><td class="memItemLeft" align="right" valign="top">virtual object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#af6a1050e8d3ba2f77ea808eef934e7ed">DeletesCacheKey</a><code> [get]</code></td></tr>
<tr class="separator:af6a1050e8d3ba2f77ea808eef934e7ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40b1733b493afbca6307b8132e195fbd"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a40b1733b493afbca6307b8132e195fbd">UniqueTermCount</a><code> [get]</code></td></tr>
<tr class="memdesc:a40b1733b493afbca6307b8132e195fbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of unique terms (across all fields) in this reader. <a href="#a40b1733b493afbca6307b8132e195fbd"></a><br/></td></tr>
<tr class="separator:a40b1733b493afbca6307b8132e195fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72bb45cd17cc83e372e688508ebc9500"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a72bb45cd17cc83e372e688508ebc9500">TermInfosIndexDivisor</a><code> [get]</code></td></tr>
<tr class="memdesc:a72bb45cd17cc83e372e688508ebc9500"><td class="mdescLeft">&#160;</td><td class="mdescRight">For <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> implementations that use <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_infos_reader.html" title="This stores a monotonically increasing set of &lt;Term, TermInfo&gt; pairs in a Directory. Pairs are accessed either by Term or by ordinal position the set. ">TermInfosReader</a> to read terms, this returns the current indexDivisor as specified when the reader was opened. <a href="#a72bb45cd17cc83e372e688508ebc9500"></a><br/></td></tr>
<tr class="separator:a72bb45cd17cc83e372e688508ebc9500"><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><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> is an abstract class, providing an interface for accessing an index. <a class="el" href="namespace_lucene_1_1_net_1_1_search.html">Search</a> of an index is done entirely through this abstract interface, so that any subclass which implements it is searchable. </p>
<p>Concrete subclasses of <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> are usually constructed with a call to one of the static <code>open()</code> methods, e.g. <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ad51f1feca975e447b6486d01ed24e1ea" title="Returns an IndexReader reading the index in the given Directory. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. ">Open(Lucene.Net.Store.Directory, bool)</a> </p>
<p>For efficiency, in this API documents are often referred to via <em>document numbers</em>, non-negative integers which each name a unique document in the index. These document numbers are ephemeral&ndash;they may change as documents are added to and deleted from an index. Clients should thus not rely on a given document having the same number between sessions. </p>
<p>An <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> can be opened on a directory for which an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html" title="An IndexWriter creates and maintains an index. The create argument to the constructor determines whet...">IndexWriter</a> is opened already, but it cannot be used to delete documents from the index then. </p>
<p><b>NOTE</b>: for backwards API compatibility, several methods are not listed as abstract, but have no useful implementations in this base class and instead always throw UnsupportedOperationException. Subclasses are strongly encouraged to override these methods, but in many cases may not need to. </p>
<p><b>NOTE</b>: as of 2.4, it's possible to open a read-only <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> using the static open methods that accepts the boolean readOnly parameter. Such a reader has better better concurrency as it's not necessary to synchronize on the isDeleted method. You must explicitly specify false if you want to make changes with the resulting <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a>. </p>
<p><a class="anchor" id="thread-safety"></a></p>
<p><b>NOTE</b>: <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> instances are completely thread safe, meaning multiple threads can call any of its methods, concurrently. If your application requires external synchronization, you should <b>not</b> synchronize on the <code><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a></code> instance; use your own (non-Lucene) objects instead. </p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00065">65</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a85d97a1e9145da71986b43a0c9f162b5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual System.Object Lucene.Net.Index.IndexReader.Clone </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Efficiently clones the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> (sharing most internal state). On cloning a reader with pending changes (deletions, norms), the original reader transfers its write lock to the cloned reader. This means only the cloned reader may make further changes to the index, and commit the changes to the index on close, but the old reader still reflects all changes made up until it was cloned. Like <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#afdbae91b13509eca9832c2b4aa33591d" title="Refreshes an IndexReader if the index has changed since this instance was (re)opened. Opening an IndexReader is an expensive operation. This method can be used to refresh an existing IndexReader to reduce these costs. This method tries to only load segments that have changed or were created after the IndexReader was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is not closed and remains usable. If the reader is reopened, even though they share resources internally, it&#39;s safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys &quot;copy on write&quot; semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method:">Reopen()</a>, it's safe to make changes to either the original or the cloned reader: all shared mutable state obeys "copy on write" semantics to ensure the changes are not seen by other readers. </p>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#a3c19d57988a3adcb3faabac2371776c5">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a0476b21df6115fe16e89aa9c5a53fee4">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#aa8e69266cb1c4f338b9277570f3319b9">Lucene.Net.Index.FilterIndexReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a842d5d754229dd3338fee127d53a4010">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#ac33363caf92e66de574355393ef0934c">Lucene.Net.Index.ParallelReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00460">460</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a7e8762cda4403eb997382f9aa841c486"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> Lucene.Net.Index.IndexReader.Clone </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>openReadOnly</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Clones the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> and optionally changes readOnly. A readOnly reader cannot open a writeable reader. </p>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#a7c287b754de1fe19063138b82a204a33">Lucene.Net.Index.SegmentReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a83c4a00254d16f2772fc5ae702391cce">Lucene.Net.Index.DirectoryReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00470">470</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a1e6264ef01957145748af40d689eaf4d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Lucene.Net.Index.IndexReader.Close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01138">1138</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a8955a08bb1c30bbd1630945ee94556bf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Lucene.Net.Index.IndexReader.Commit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Commit changes resulting from delete, undeleteAll, or setNorm operations </p>
<p>If an exception is hit, then either no changes or all changes will have been committed to the index (transactional semantics). </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01106">1106</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a57e8bdf94bb134f336f53899d71c51a0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Lucene.Net.Index.IndexReader.Commit </td>
<td>(</td>
<td class="paramtype">IDictionary&lt; string, string &gt;&#160;</td>
<td class="paramname"><em>commitUserData</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Commit changes resulting from delete, undeleteAll, or setNorm operations </p>
<p>If an exception is hit, then either no changes or all changes will have been committed to the index (transactional semantics). </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01122">1122</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a8bfc113eced23a4b5a1fabb756d1977a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Index.IndexReader.DecRef </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: decreases the refCount of this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> instance. If the refCount drops to 0, then pending changes (if any) are committed to the index and this reader is closed. </p>
<p>&lt;throws&gt; IOException in case an IOException occurs in commit() or doClose() &lt;/throws&gt; </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a708656e6bce03eae40f2d08151ef4017" title="Expert: increments the refCount of this IndexReader instance. RefCounts are used to determine when a ...">IncRef</a></dd></dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00179">179</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a3b7fd13e4df23385d13d129a361e632e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Index.IndexReader.DeleteDocument </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>docNum</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Deletes the document numbered <code>docNum</code>. Once a document is deleted it will not appear in <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_docs.html" title="TermDocs provides an interface for enumerating &lt;document, frequency&gt; pairs for a term. The document portion names each document containing the term. Documents are indicated by number. The frequency portion gives the number of times the term occurred in each document. The pairs are ordered by document number. ">TermDocs</a> or TermPostitions enumerations. Attempts to read its field with the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ae5a8698ada40868908ea27f502337ee2" title="Returns the stored fields of the nth Document in this index. NOTE: for performance reasons...">Document(int)</a> method will result in an error. The presence of this document may still be reflected in the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a64a1dd38f0e39bd79e5f46ce59ce967b" title="Returns the number of documents containing the term t.">DocFreq</a> statistic, though this will be corrected eventually as the index is further modified. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_stale_reader_exception.html" title="This exception is thrown when an IndexReader tries to make changes to the index (via IndexReader...">StaleReaderException</a></td><td>If the index has changed since this reader was opened </td></tr>
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a></td><td>If the index is corrupt</td></tr>
<tr><td class="paramname">LockObtainFailedException</td><td>If another writer has this index open (<code>write.lock</code> could not be obtained) </td></tr>
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00978">978</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ab6cb087e83a3831cf5817fb2c954433e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int Lucene.Net.Index.IndexReader.DeleteDocuments </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html">Term</a>&#160;</td>
<td class="paramname"><em>term</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Deletes all documents that have a given <code>term</code> indexed. This is useful if one uses a document field to hold a unique ID string for the document. Then to delete such a document, one merely constructs a term with the appropriate field and the unique ID string as its text and passes it to this method. See <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a3b7fd13e4df23385d13d129a361e632e" title="Deletes the document numbered docNum. Once a document is deleted it will not appear in TermDocs or Te...">DeleteDocument(int)</a> for information about when this deletion will become effective. </p>
<dl class="section return"><dt>Returns</dt><dd>The number of documents deleted</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_stale_reader_exception.html" title="This exception is thrown when an IndexReader tries to make changes to the index (via IndexReader...">StaleReaderException</a></td><td>If the index has changed since this reader was opened </td></tr>
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a></td><td>If the index is corrupt</td></tr>
<tr><td class="paramname">LockObtainFailedException</td><td>If another writer has this index open (<code>write.lock</code> could not be obtained) </td></tr>
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01014">1014</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a19fcb28d3de623659083037f65496d48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a> Lucene.Net.Index.IndexReader.Directory </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the directory associated with this index. The Default implementation returns the directory specified by subclasses when delegating to the IndexReader(Directory) constructor, or throws an UnsupportedOperationException if one was not specified. </p>
<p>&lt;throws&gt; UnsupportedOperationException if no directory &lt;/throws&gt; </p>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#aa43d2c6fe7730b436470d5b6cf7fb0e6">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#aa59ec06655a94ed489db58f3e6a3633b">Lucene.Net.Index.DirectoryReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a880f0a3496857ef64943fc4eab7fcef2">Lucene.Net.Index.FilterIndexReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00484">484</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a866d1055e05a4dc6dd65bc517b46b7f0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Lucene.Net.Index.IndexReader.Dispose </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Closes files associated with this index. Also saves any new deletions to disk. No other methods should be called after this has been called. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01148">1148</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a9ae0d97574a185f4cbb7fffcea8942d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Index.IndexReader.Dispose </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>disposing</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01153">1153</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a64a1dd38f0e39bd79e5f46ce59ce967b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract int Lucene.Net.Index.IndexReader.DocFreq </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html">Term</a>&#160;</td>
<td class="paramname"><em>t</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of documents containing the term <code>t</code>.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#aad1517ea70be834bf6f8773e4b0db1e9">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#adfba36b31d8ac180ab930cb81571bfad">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a8f70011e123385c38008f92c3139707a">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a5ed43ee3c594adec6fd1164f76247269">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a4d958c578a5638d893bd271d39d92aed">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="ae5a8698ada40868908ea27f502337ee2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_document.html">Document</a> Lucene.Net.Index.IndexReader.Document </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the stored fields of the <code>n</code><sup>th</sup> <code>Document</code> in this index. <b>NOTE:</b> for performance reasons, this method does not check if the requested document is deleted, and therefore asking for a deleted document may yield unspecified results. Usually this is not required, however you can call <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a13d56c7f3ac58f9e4990d9df156bada9" title="Returns true if document n has been deleted ">IsDeleted(int)</a> with the requested document ID to verify the document is not deleted. </p>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00729">729</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a99b1172ed4efbc8c652bffd267cef2e9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_document.html">Document</a> Lucene.Net.Index.IndexReader.Document </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="interface_lucene_1_1_net_1_1_documents_1_1_field_selector.html">FieldSelector</a>&#160;</td>
<td class="paramname"><em>fieldSelector</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_document.html" title="Documents are the unit of indexing and search.">Lucene.Net.Documents.Document</a> at the <code>n</code> <sup>th</sup> position. The <a class="el" href="_searchable_8cs.html#a64b447ee53d30ce66ebd27b2715e7bca">FieldSelector</a> may be used to determine what <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_field.html" title="A field is a section of a Document. Each field has two parts, a name and a value. Values may be free ...">Lucene.Net.Documents.Field</a>s to load and how they should be loaded. <b>NOTE:</b> If this Reader (more specifically, the underlying <code><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_fields_reader.html" title="Class responsible for access to stored document fields. It uses &lt;segment&gt;.fdt and &lt;segment&gt;...">FieldsReader</a></code>) is closed before the lazy <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_field.html" title="A field is a section of a Document. Each field has two parts, a name and a value. Values may be free ...">Lucene.Net.Documents.Field</a> is loaded an exception may be thrown. If you want the value of a lazy <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_field.html" title="A field is a section of a Document. Each field has two parts, a name and a value. Values may be free ...">Lucene.Net.Documents.Field</a> to be available after closing you must explicitly load it or fetch the Document again with a new loader. <b>NOTE:</b> for performance reasons, this method does not check if the requested document is deleted, and therefore asking for a deleted document may yield unspecified results. Usually this is not required, however you can call <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a13d56c7f3ac58f9e4990d9df156bada9" title="Returns true if document n has been deleted ">IsDeleted(int)</a> with the requested document ID to verify the document is not deleted. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">n</td><td>Get the document at the <code>n</code><sup>th</sup> position </td></tr>
<tr><td class="paramname">fieldSelector</td><td>The <a class="el" href="_searchable_8cs.html#a64b447ee53d30ce66ebd27b2715e7bca">FieldSelector</a> to use to determine what Fields should be loaded on the Document. May be null, in which case all Fields will be loaded. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The stored fields of the <a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_document.html" title="Documents are the unit of indexing and search.">Lucene.Net.Documents.Document</a> at the nth position </dd></dl>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd>IFieldable</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="interface_lucene_1_1_net_1_1_documents_1_1_field_selector.html" title="Similar to a java.io.FileFilter, the FieldSelector allows one to make decisions about what Fields get...">Lucene.Net.Documents.FieldSelector</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_set_based_field_selector.html" title="Declare what fields to load normally and what fields to load lazily">Lucene.Net.Documents.SetBasedFieldSelector</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_load_first_field_selector.html" title="Load the First field and break. See FieldSelectorResult.LOAD_AND_BREAK ">Lucene.Net.Documents.LoadFirstFieldSelector</a></dd></dl>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#a3f5657ef64a324882322d3073dd69e73">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#aaf8ec1fd0bb797ebe8ba354b5c039884">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#aa93fc898407f560f026202333c3007e7">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#aa10cba6e4e53971f41953e348c51b94a">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a3eb70f7ee5916ce1c486e086fade9a6b">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="a862590efe934e6950d00a17f01fcb37f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Lucene.Net.Index.IndexReader.Flush </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p></p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td></td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01075">1075</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ae901a0307a030ada9552b6809c675dac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Lucene.Net.Index.IndexReader.Flush </td>
<td>(</td>
<td class="paramtype">IDictionary&lt; string, string &gt;&#160;</td>
<td class="paramname"><em>commitUserData</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">commitUserData</td><td>Opaque Map (String -&gt; String) that's recorded into the segments file in the index, and retrievable by <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a9cb47d1bfbb41869b706163ca46da1e4" title="Reads commitUserData, previously passed to IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}), from current index segments file. This will return null if IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}) has never been called for this index. ">IndexReader.GetCommitUserData</a> </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td></td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01089">1089</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a9cb47d1bfbb41869b706163ca46da1e4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static System.Collections.Generic.IDictionary&lt;string, string&gt; Lucene.Net.Index.IndexReader.GetCommitUserData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a>&#160;</td>
<td class="paramname"><em>directory</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads commitUserData, previously passed to IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}), from current index segments file. This will return null if IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}) has never been called for this index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">directory</td><td>where the index resides. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>commit userData. </dd></dl>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a9cb47d1bfbb41869b706163ca46da1e4" title="Reads commitUserData, previously passed to IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}), from current index segments file. This will return null if IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}) has never been called for this index. ">GetCommitUserData(Store.Directory)</a></dd></dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00533">533</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aeffbf34aec5b328a1637a2b0e68902a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static long Lucene.Net.Index.IndexReader.GetCurrentVersion </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a>&#160;</td>
<td class="paramname"><em>directory</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads version number from segments files. The version number is initialized with a timestamp and then increased by one for each change of the index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">directory</td><td>where the index resides. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>version number. </dd></dl>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00512">512</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a8c4e81993a2de016248031c3766f3ab7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract ICollection&lt;string&gt; Lucene.Net.Index.IndexReader.GetFieldNames </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader_1_1_field_option.html">FieldOption</a>&#160;</td>
<td class="paramname"><em>fldOption</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a list of unique field names that exist in this index and have the specified field option information. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fldOption</td><td>specifies which field option should be available for the returned fields </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Collection of Strings indicating the names of the fields. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader_1_1_field_option.html" title="Constants describing field properties, for example used for IndexReader.GetFieldNames(FieldOption). ">IndexReader.FieldOption</a></dd></dl>
</div>
</div>
<a class="anchor" id="a80ce49bcb14cf6c51f87404115ab705c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> [] Lucene.Net.Index.IndexReader.GetSequentialSubReaders </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: returns the sequential sub readers that this reader is logically composed of. For example, IndexSearcher uses this API to drive searching by one sub reader at a time. If this reader is not composed of sequential child readers, it should return null. If this method returns an empty array, that means this reader is a null reader (for example a <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html" title="An IndexReader which reads multiple indexes, appending their content. ">MultiReader</a> that has no sub readers). NOTE: You should not try using sub-readers returned by this method to make any changes (setNorm, deleteDocument, etc.). While this might succeed for one composite reader (like <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html" title="An IndexReader which reads multiple indexes, appending their content. ">MultiReader</a>), it will most likely lead to index corruption for other readers (like <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html" title="An IndexReader which reads indexes with multiple segments.">DirectoryReader</a> obtained through <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ad51f1feca975e447b6486d01ed24e1ea" title="Returns an IndexReader reading the index in the given Directory. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. ">IndexReader.Open(Lucene.Net.Store.Directory,bool)</a>. Use the parent reader directly. </p>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#ae51a6c97a24a5f4b1280d7222afdc5e7">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a7694421e000a511c51bc3ea5cf3044b2">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a815c9c71fc715b02270a3091530e25d2">Lucene.Net.Index.FilterIndexReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01324">1324</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a93ef270cec13352696660ca154d4a1be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_i_term_freq_vector.html">ITermFreqVector</a> Lucene.Net.Index.IndexReader.GetTermFreqVector </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>docNumber</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">String&#160;</td>
<td class="paramname"><em>field</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a term frequency vector for the specified document and field. The returned vector contains terms and frequencies for the terms in the specified field of this document, if the field had the storeTermVector flag set. If termvectors had been stored with positions or offsets, a <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_position_vector.html" title="Extends TermFreqVector to provide additional information about positions in which each of the terms i...">TermPositionVector</a> is returned. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">docNumber</td><td>document for which the term frequency vector is returned </td></tr>
<tr><td class="paramname">field</td><td>field for which the term frequency vector is returned. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>term frequency vector May be null if field does not exist in the specified document or term vector was not stored. </dd></dl>
<p>&lt;throws&gt; IOException if index cannot be accessed &lt;/throws&gt; </p>
<dl class="section see"><dt>See Also</dt><dd>Lucene.Net.Documents.Field.TermVector</dd></dl>
</div>
</div>
<a class="anchor" id="a0823bdc082d7b5df9a0e726babc21c2f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract void Lucene.Net.Index.IndexReader.GetTermFreqVector </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>docNumber</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">String&#160;</td>
<td class="paramname"><em>field</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_vector_mapper.html">TermVectorMapper</a>&#160;</td>
<td class="paramname"><em>mapper</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Load the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html" title="A Term represents a word from text. This is the unit of search. It is composed of two elements...">Term</a> Vector into a user-defined data structure instead of relying on the parallel arrays of the <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_i_term_freq_vector.html" title="Provides access to stored term vector of a document field. The vector consists of the name of the fie...">ITermFreqVector</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">docNumber</td><td>The number of the document to load the vector for </td></tr>
<tr><td class="paramname">field</td><td>The name of the field to load </td></tr>
<tr><td class="paramname">mapper</td><td>The <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_vector_mapper.html" title="The TermVectorMapper can be used to map Term Vectors into your own structure instead of the parallel ...">TermVectorMapper</a> to process the vector. Must not be null </td></tr>
</table>
</dd>
</dl>
<p>&lt;throws&gt; IOException if term vectors cannot be accessed or if they do not exist on the field and doc. specified. &lt;/throws&gt; </p>
</div>
</div>
<a class="anchor" id="a008fd802abde1a7940aad492f76222d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract void Lucene.Net.Index.IndexReader.GetTermFreqVector </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>docNumber</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_vector_mapper.html">TermVectorMapper</a>&#160;</td>
<td class="paramname"><em>mapper</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Map all the term vectors for all fields in a Document</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">docNumber</td><td>The number of the document to load the vector for </td></tr>
<tr><td class="paramname">mapper</td><td>The <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_vector_mapper.html" title="The TermVectorMapper can be used to map Term Vectors into your own structure instead of the parallel ...">TermVectorMapper</a> to process the vector. Must not be null </td></tr>
</table>
</dd>
</dl>
<p>&lt;throws&gt; IOException if term vectors cannot be accessed or if they do not exist on the field and doc. specified. &lt;/throws&gt; </p>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#a21f8f31ea7d931a564cdaa498ac582fe">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#ab9e552d40a2f9a02164c3cb0defff261">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a7eeeba214dc425a8eac3c23f8d0534be">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a4e06b79d956bbb23ac1bfdb08dfcd131">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#ae68247d765986ae2e2edea1079b035db">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="a67c222dd92a57ebf5f1dbd86b86cfce5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_i_term_freq_vector.html">ITermFreqVector</a> [] Lucene.Net.Index.IndexReader.GetTermFreqVectors </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>docNumber</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return an array of term frequency vectors for the specified document. The array contains a vector for each vectorized field in the document. Each vector contains terms and frequencies for all terms in a given vectorized field. If no such fields existed, the method returns null. The term vectors that are returned may either be of type <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_i_term_freq_vector.html" title="Provides access to stored term vector of a document field. The vector consists of the name of the fie...">ITermFreqVector</a> or of type <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_position_vector.html" title="Extends TermFreqVector to provide additional information about positions in which each of the terms i...">TermPositionVector</a> if positions or offsets have been stored. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">docNumber</td><td>document for which term frequency vectors are returned </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array of term frequency vectors. May be null if no term vectors have been stored for the specified document. </dd></dl>
<p>&lt;throws&gt; IOException if index cannot be accessed &lt;/throws&gt; </p>
<dl class="section see"><dt>See Also</dt><dd>Lucene.Net.Documents.Field.TermVector</dd></dl>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#a4f90851b3f9e26d7b248fd441f0aa040">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#ac111de924d2529fe5f4abccdf36fed33">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a2cecaaa6e8f36e7f624bc0d89f858fb8">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a8195a3f68a52ab41d2470b42383e136c">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#ad952daeb3f3827a64b625900adb0f61c">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="a951d3ff3357bfe9839aff739f79a064e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Index.IndexReader.HasNorms </td>
<td>(</td>
<td class="paramtype">System.String&#160;</td>
<td class="paramname"><em>field</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if there are norms stored for this field. </p>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#aa271e81b671ae86bc9172f2432f3037b">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a25bbf565fd931800f05aad30e32cedd9">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#ae68ab75a85248c6ea230bf5220d30724">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a1ec76b755c5504a5977e159e6e408d54">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a27f83bc28859449138c313fd2d9a49a9">Lucene.Net.Index.FilterIndexReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00798">798</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a708656e6bce03eae40f2d08151ef4017"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Index.IndexReader.IncRef </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: increments the refCount of this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> instance. RefCounts are used to determine when a reader can be closed safely, i.e. as soon as there are no more references. Be sure to always call a corresponding <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8bfc113eced23a4b5a1fabb756d1977a" title="Expert: decreases the refCount of this IndexReader instance. If the refCount drops to 0...">DecRef</a>, in a finally clause; otherwise the reader may never be closed. Note that <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a1e6264ef01957145748af40d689eaf4d">Close</a> simply calls decRef(), which means that the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> will not really be closed until <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8bfc113eced23a4b5a1fabb756d1977a" title="Expert: decreases the refCount of this IndexReader instance. If the refCount drops to 0...">DecRef</a> has been called for all outstanding references. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a8bfc113eced23a4b5a1fabb756d1977a" title="Expert: decreases the refCount of this IndexReader instance. If the refCount drops to 0...">DecRef</a></dd></dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00158">158</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ad520cfb53db384fc3249e7ff4a8b2e97"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool Lucene.Net.Index.IndexReader.IndexExists </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a>&#160;</td>
<td class="paramname"><em>directory</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if an index exists at the specified directory. If the directory does not exist or if there is no index in it. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">directory</td><td>the directory to check for an index </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if an index exists; <code>false</code> otherwise </dd></dl>
<p>&lt;throws&gt; IOException if there is a problem with accessing the index &lt;/throws&gt; </p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00696">696</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a3f912bfed2d6e04c0eb11885c0d048e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Index.IndexReader.IsCurrent </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check whether any new changes have occurred to the index since this reader was opened. </p>
<p>If this reader is based on a Directory (ie, was created by calling &lt;cref&gt;Open(<a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html" title="A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.">Store.Directory</a>)&lt;/cref&gt; </p>
<p>, or <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#afdbae91b13509eca9832c2b4aa33591d" title="Refreshes an IndexReader if the index has changed since this instance was (re)opened. Opening an IndexReader is an expensive operation. This method can be used to refresh an existing IndexReader to reduce these costs. This method tries to only load segments that have changed or were created after the IndexReader was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is not closed and remains usable. If the reader is reopened, even though they share resources internally, it&#39;s safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys &quot;copy on write&quot; semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method:">Reopen()</a> on a reader based on a Directory), then this method checks if any further commits (see <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html#ad1df12452bb45f153d9d06e1c160e2ff" title="Commits all pending changes (added &amp; deleted documents, optimizations, segment merges, added indexes, etc.) to the index, and syncs all referenced index files, such that a reader will see the changes and the index updates will survive an OS or machine crash or power loss. Note that this does not wait for any running background merges to finish. This may be a costly operation, so you should test the cost in your application and do it only when really necessary.">IndexWriter.Commit()</a> have occurred in that directory). </p>
<p>If instead this reader is a near real-time reader (ie, obtained by a call to <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html#a57044cd06b7b2b00bb33a08ad666d4c5" title="Expert: returns a readonly reader, covering all committed as well as un-committed changes to the inde...">IndexWriter.GetReader()</a>, or by calling <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#afdbae91b13509eca9832c2b4aa33591d" title="Refreshes an IndexReader if the index has changed since this instance was (re)opened. Opening an IndexReader is an expensive operation. This method can be used to refresh an existing IndexReader to reduce these costs. This method tries to only load segments that have changed or were created after the IndexReader was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is not closed and remains usable. If the reader is reopened, even though they share resources internally, it&#39;s safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys &quot;copy on write&quot; semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method:">Reopen()</a> on a near real-time reader), then this method checks if either a new commmit has occurred, or any new uncommitted changes have taken place via the writer. Note that even if the writer has only performed merging, this method will still return false. </p>
<p>In any event, if this returns false, you should call <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#afdbae91b13509eca9832c2b4aa33591d" title="Refreshes an IndexReader if the index has changed since this instance was (re)opened. Opening an IndexReader is an expensive operation. This method can be used to refresh an existing IndexReader to reduce these costs. This method tries to only load segments that have changed or were created after the IndexReader was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is not closed and remains usable. If the reader is reopened, even though they share resources internally, it&#39;s safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys &quot;copy on write&quot; semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method:">Reopen()</a> to get a new reader that sees the changes. </p>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>&lt;throws&gt; UnsupportedOperationException unless overridden in subclass &lt;/throws&gt; </p>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a2f938eed2244b84c6385cb0855b9ee57">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#ab417ec513e9c7f1b6b6b8328c25d1203">Lucene.Net.Index.MultiReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#abee5e3bbad5a6d5da42b06ccc0d39f12">Lucene.Net.Index.ParallelReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#aa277bc539157d48cfc7847c5b232b23c">Lucene.Net.Index.FilterIndexReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00612">612</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a13d56c7f3ac58f9e4990d9df156bada9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract bool Lucene.Net.Index.IndexReader.IsDeleted </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if document <em>n</em> has been deleted </p>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#a2f913cad242b4acefe2f8665130e2fda">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#ad83fadd1a34d5bcd1e024d7aa66d2c26">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a5e6c87e8abd40492b92e4e9163fe43d5">Lucene.Net.Index.MultiReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#af80a55511277c7ad2e21b9049e037f8f">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a94a0d34ba7d6ee5ebbc513fd48d71382">Lucene.Net.Index.FilterIndexReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_read_only_segment_reader.html#a270821bac8886cbf1996085adf76a64d">Lucene.Net.Index.ReadOnlySegmentReader</a>.</p>
</div>
</div>
<a class="anchor" id="abd8de391e51a329838a5f18c80480d60"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Index.IndexReader.IsOptimized </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks is the index is optimized (if it has a single segment and no deletions). Not implemented in the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> base class. </p>
<dl class="section return"><dt>Returns</dt><dd>&amp;lt;c&amp;gt;true&amp;lt;/c&amp;gt; if the index is optimized; &amp;lt;c&amp;gt;false&amp;lt;/c&amp;gt; otherwise </dd></dl>
<p>&lt;throws&gt; UnsupportedOperationException unless overridden in subclass &lt;/throws&gt; </p>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a770976216f197e424159448d88269720">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a0b321102b4a59b579616cd50109dc40c">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a292b1240385c72cc442faf5adc427007">Lucene.Net.Index.FilterIndexReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#aca9f796998b608af8032e7ace77696e0">Lucene.Net.Index.MultiReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00622">622</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="acd833156064d8205cdb330f56ee9374a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static long Lucene.Net.Index.IndexReader.LastModified </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a>&#160;</td>
<td class="paramname"><em>directory2</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the time the index in the named directory was last modified. Do not use this to check whether the reader is still up-to-date, use <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a3f912bfed2d6e04c0eb11885c0d048e2" title="Check whether any new changes have occurred to the index since this reader was opened.">IsCurrent()</a> instead. </p>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00496">496</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aec373bf57cf74ef8ba81ac40455214e8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static System.Collections.Generic.ICollection&lt;<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a>&gt; Lucene.Net.Index.IndexReader.ListCommits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a>&#160;</td>
<td class="paramname"><em>dir</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns all commit points that exist in the Directory. Normally, because the default is <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_keep_only_last_commit_deletion_policy.html" title="This IndexDeletionPolicy implementation that keeps only the most recent commit and immediately remove...">KeepOnlyLastCommitDeletionPolicy</a> , there would be only one commit point. But if you're using a custom <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html" title="Expert: policy for deletion of stale index commits.">IndexDeletionPolicy</a> then there could be many commits. Once you have a given commit, you can open a reader on it by calling <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ac65de03d67a43ad405662f5d7ccf6b8e" title="Expert: returns an IndexReader reading the index in the given IndexCommit. You should pass readOnly=t...">IndexReader.Open(IndexCommit,bool)</a> There must be at least one commit in the Directory, else this method throws System.IO.IOException. Note that if a commit is in progress while this method is running, that commit may or may not be returned array. </p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01303">1303</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aea84e847fcc80fa30ad48d3a9a21cb62"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void Lucene.Net.Index.IndexReader.Main </td>
<td>(</td>
<td class="paramtype">String[]&#160;</td>
<td class="paramname"><em>args</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Prints the filename and size of each file within a given compound file. Add the -extract flag to extract files to the current working directory. In order to make the extracted version of the index work, you have to copy the segments file from the compound index into the directory where the extracted files are stored. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Usage: <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">Lucene.Net.Index.IndexReader</a> [-extract] &lt;cfsfile&gt; </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01204">1204</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="af4de7403582385c9c14de9a58fca523c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract byte [] Lucene.Net.Index.IndexReader.Norms </td>
<td>(</td>
<td class="paramtype">System.String&#160;</td>
<td class="paramname"><em>field</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the byte-encoded normalization factor for the named field of every document. This is used by the search code to score documents. </p>
<dl class="section see"><dt>See Also</dt><dd>Lucene.Net.Documents.AbstractField.Boost</dd></dl>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#a48c0fc1de6e811bdac4914ad7f8b58c2">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#adf57b7f2640b5d32b94118c6ea1ab6a5">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a90229ea132ef3dd1605056a208f2f912">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a59f746b971b75ee465c3a15137c9ed69">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a089ad414f3756390f9afd0ddb9654dde">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="a472badacbf088173c48b9e5055a6faeb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract void Lucene.Net.Index.IndexReader.Norms </td>
<td>(</td>
<td class="paramtype">System.String&#160;</td>
<td class="paramname"><em>field</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">byte[]&#160;</td>
<td class="paramname"><em>bytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads the byte-encoded normalization factor for the named field of every document. This is used by the search code to score documents. </p>
<dl class="section see"><dt>See Also</dt><dd>Lucene.Net.Documents.AbstractField.Boost</dd></dl>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#a89f7b372dadf756b379d07f3bac4ec43">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#ad5710fa7f259325dff744522dab06ec4">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a177fd49b0313b3df914f5887ede97e7a">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a366466532d0ae5d82300185e5d1c87be">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a8b06272257581562562460ac0b8d86b5">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="a300ecbc61b021d9ae600e1b00c61a851"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract int Lucene.Net.Index.IndexReader.NumDocs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of documents in this index. </p>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#ad916960cad78563a499cc92d183f4206">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a46302f9e324afb8e5a6c4ebca3703589">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#aea7cb1dbf72234afc249a81aa5bfdeb3">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a698ebd7ada81601981a1e2a66731d2b0">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a69fe5a45e77fa635c2af052faccd5cb8">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="ad51f1feca975e447b6486d01ed24e1ea"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> Lucene.Net.Index.IndexReader.Open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a>&#160;</td>
<td class="paramname"><em>directory</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>readOnly</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given Directory. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">directory</td><td>the index directory</td></tr>
<tr><td class="paramname">readOnly</td><td>true if no changes (deletions, norms) will be made with this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a></td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a></td><td><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt</td></tr>
<tr><td class="paramname">System.IO.IOException</td><td>IOException if there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00218">218</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ac65de03d67a43ad405662f5d7ccf6b8e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> Lucene.Net.Index.IndexReader.Open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a>&#160;</td>
<td class="paramname"><em>commit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>readOnly</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html" title="Expert: represents a single commit into an index as seen by the IndexDeletionPolicy or IndexReader...">IndexCommit</a>. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">commit</td><td>the commit point to open </td></tr>
<tr><td class="paramname">readOnly</td><td>true if no changes (deletions, norms) will be made with this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> </td></tr>
</table>
</dd>
</dl>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00235">235</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a3af65a9b14014f893a9bcc4c52557f5c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> Lucene.Net.Index.IndexReader.Open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a>&#160;</td>
<td class="paramname"><em>directory</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html">IndexDeletionPolicy</a>&#160;</td>
<td class="paramname"><em>deletionPolicy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>readOnly</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given Directory, with a custom <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html" title="Expert: policy for deletion of stale index commits.">IndexDeletionPolicy</a> . You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">directory</td><td>the index directory </td></tr>
<tr><td class="paramname">deletionPolicy</td><td>a custom deletion policy (only used if you use this reader to perform deletes or to set norms); see <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html" title="An IndexWriter creates and maintains an index. The create argument to the constructor determines whet...">IndexWriter</a> for details. </td></tr>
<tr><td class="paramname">readOnly</td><td>true if no changes (deletions, norms) will be made with this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> </td></tr>
</table>
</dd>
</dl>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00257">257</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a7fb2d9e7c2ee967a47b0147214c3c452"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> Lucene.Net.Index.IndexReader.Open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Directory</a>&#160;</td>
<td class="paramname"><em>directory</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html">IndexDeletionPolicy</a>&#160;</td>
<td class="paramname"><em>deletionPolicy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>readOnly</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>termInfosIndexDivisor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given Directory, with a custom <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html" title="Expert: policy for deletion of stale index commits.">IndexDeletionPolicy</a> . You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">directory</td><td>the index directory </td></tr>
<tr><td class="paramname">deletionPolicy</td><td>a custom deletion policy (only used if you use this reader to perform deletes or to set norms); see <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html" title="An IndexWriter creates and maintains an index. The create argument to the constructor determines whet...">IndexWriter</a> for details. </td></tr>
<tr><td class="paramname">readOnly</td><td>true if no changes (deletions, norms) will be made with this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> </td></tr>
<tr><td class="paramname">termInfosIndexDivisor</td><td>Subsamples which indexed terms are loaded into RAM. This has the same effect as &lt;cref&gt;IndexWriter.SetTermIndexInterval&lt;/cref&gt; except that setting must be done at indexing time while this setting can be set per reader. When set to N, then one in every N*termIndexInterval terms in the index is loaded into memory. By setting this to a value &gt; 1 you can reduce memory usage, at the expense of higher latency when loading a <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_info.html" title="A TermInfo is the record of information stored for a term.">TermInfo</a>. The default value is 1. Set this to -1 to skip loading the terms index entirely. </td></tr>
</table>
</dd>
</dl>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00291">291</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ac436899197af7c17e2d24d5384918d6f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> Lucene.Net.Index.IndexReader.Open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a>&#160;</td>
<td class="paramname"><em>commit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html">IndexDeletionPolicy</a>&#160;</td>
<td class="paramname"><em>deletionPolicy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>readOnly</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given Directory, using a specific commit and with a custom <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html" title="Expert: policy for deletion of stale index commits.">IndexDeletionPolicy</a>. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">commit</td><td>the specific <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html" title="Expert: represents a single commit into an index as seen by the IndexDeletionPolicy or IndexReader...">IndexCommit</a> to open; see <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#aec373bf57cf74ef8ba81ac40455214e8" title="Returns all commit points that exist in the Directory. Normally, because the default is KeepOnlyLastC...">IndexReader.ListCommits</a> to list all commits in a directory </td></tr>
<tr><td class="paramname">deletionPolicy</td><td>a custom deletion policy (only used if you use this reader to perform deletes or to set norms); see <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html" title="An IndexWriter creates and maintains an index. The create argument to the constructor determines whet...">IndexWriter</a> for details. </td></tr>
<tr><td class="paramname">readOnly</td><td>true if no changes (deletions, norms) will be made with this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> </td></tr>
</table>
</dd>
</dl>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00315">315</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a21bfa244441089e6d787c2342c96029a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> Lucene.Net.Index.IndexReader.Open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a>&#160;</td>
<td class="paramname"><em>commit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html">IndexDeletionPolicy</a>&#160;</td>
<td class="paramname"><em>deletionPolicy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>readOnly</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>termInfosIndexDivisor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: returns an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reading the index in the given Directory, using a specific commit and with a custom <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_index_deletion_policy.html" title="Expert: policy for deletion of stale index commits.">IndexDeletionPolicy</a>. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">commit</td><td>the specific <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html" title="Expert: represents a single commit into an index as seen by the IndexDeletionPolicy or IndexReader...">IndexCommit</a> to open; see <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#aec373bf57cf74ef8ba81ac40455214e8" title="Returns all commit points that exist in the Directory. Normally, because the default is KeepOnlyLastC...">IndexReader.ListCommits</a> to list all commits in a directory </td></tr>
<tr><td class="paramname">deletionPolicy</td><td>a custom deletion policy (only used if you use this reader to perform deletes or to set norms); see <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html" title="An IndexWriter creates and maintains an index. The create argument to the constructor determines whet...">IndexWriter</a> for details. </td></tr>
<tr><td class="paramname">readOnly</td><td>true if no changes (deletions, norms) will be made with this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> </td></tr>
<tr><td class="paramname">termInfosIndexDivisor</td><td>Subsambles which indexed terms are loaded into RAM. This has the same effect as &lt;cref&gt;IndexWriter.SetTermIndexInterval&lt;/cref&gt; except that setting must be done at indexing time while this setting can be set per reader. When set to N, then one in every N*termIndexInterval terms in the index is loaded into memory. By setting this to a value &gt; 1 you can reduce memory usage, at the expense of higher latency when loading a <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_info.html" title="A TermInfo is the record of information stored for a term.">TermInfo</a>. The default value is 1. Set this to -1 to skip loading the terms index entirely. </td></tr>
</table>
</dd>
</dl>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00351">351</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="afdbae91b13509eca9832c2b4aa33591d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> Lucene.Net.Index.IndexReader.Reopen </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Refreshes an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> if the index has changed since this instance was (re)opened. Opening an <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> is an expensive operation. This method can be used to refresh an existing <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> to reduce these costs. This method tries to only load segments that have changed or were created after the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is <b>not</b> closed and remains usable.<br/>
If the reader is reopened, even though they share resources internally, it's safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys "copy on write" semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method: </p>
<p><code> <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reader = ... ... <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> newReader = r.reopen(); if (newReader != reader) { ... // reader was reopened reader.close(); } reader = newReader; ... </code></p>
<p>Be sure to synchronize that code so that other threads, if present, can never use reader after it has been closed and before it's switched to newReader.</p>
<p><b>NOTE</b>: If this reader is a near real-time reader (obtained from <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html#a57044cd06b7b2b00bb33a08ad666d4c5" title="Expert: returns a readonly reader, covering all committed as well as un-committed changes to the inde...">IndexWriter.GetReader()</a>, reopen() will simply call writer.getReader() again for you, though this may change in the future.</p>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a61528bdf209d9e3ea048636f999d6c76">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#afcbeba5870b6dff1c93564ad93666a9a">Lucene.Net.Index.ParallelReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#ab518765dd5660f9e5adfc2f4491aaba2">Lucene.Net.Index.MultiReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00405">405</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="abb66442edce6525c0590527596649466"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> Lucene.Net.Index.IndexReader.Reopen </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>openReadOnly</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Just like <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#afdbae91b13509eca9832c2b4aa33591d" title="Refreshes an IndexReader if the index has changed since this instance was (re)opened. Opening an IndexReader is an expensive operation. This method can be used to refresh an existing IndexReader to reduce these costs. This method tries to only load segments that have changed or were created after the IndexReader was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is not closed and remains usable. If the reader is reopened, even though they share resources internally, it&#39;s safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys &quot;copy on write&quot; semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method:">Reopen()</a>, except you can change the readOnly of the original reader. If the index is unchanged but readOnly is different then a new reader will be returned. </p>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a5271909816997ce7b7a02931211d8d39">Lucene.Net.Index.DirectoryReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00419">419</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a472e464ae2c2614f5a1393eaaf8b30fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> Lucene.Net.Index.IndexReader.Reopen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a>&#160;</td>
<td class="paramname"><em>commit</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: reopen this reader on a specific commit point. This always returns a readOnly reader. If the specified commit point matches what this reader is already on, and this reader is already readOnly, then this same instance is returned; if it is not already readOnly, a readOnly clone is returned. </p>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a6404d9ae63c84a8f755258da7be40ff9">Lucene.Net.Index.DirectoryReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00434">434</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a8258426814ce3796c5000a09c00f8ea0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Index.IndexReader.SetNorm </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>doc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">String&#160;</td>
<td class="paramname"><em>field</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">byte&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: Resets the normalization factor for the named field of the named document. The norm represents the product of the field's <a class="el" href="">boost</a> and its <a class="el" href="">length normalization</a>. Thus, to preserve the length normalization values when resetting this, one should base the new value upon the old. </p>
<p><b>NOTE:</b> If this field does not store norms, then this method call will silently do nothing. </p>
<dl class="section see"><dt>See Also</dt><dd>Norms(String), Similarity.DecodeNorm(byte)</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_stale_reader_exception.html" title="This exception is thrown when an IndexReader tries to make changes to the index (via IndexReader...">StaleReaderException</a></td><td>If the index has changed since this reader was opened </td></tr>
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a></td><td>If the index is corrupt </td></tr>
<tr><td class="paramname">LockObtainFailedException</td><td>If another writer has this index open (<code>write.lock</code> could not be obtained) </td></tr>
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00842">842</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a430b03fb03354132c29ee8d6081adf54"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Index.IndexReader.SetNorm </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>doc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">System.String&#160;</td>
<td class="paramname"><em>field</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: Resets the normalization factor for the named field of the named document. </p>
<dl class="section see"><dt>See Also</dt><dd>Norms(String), Similarity.DecodeNorm(byte)</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_stale_reader_exception.html" title="This exception is thrown when an IndexReader tries to make changes to the index (via IndexReader...">StaleReaderException</a></td><td>If the index has changed since this reader was opened </td></tr>
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a></td><td>If the index is corrupt </td></tr>
<tr><td class="paramname">LockObtainFailedException</td><td>If another writer has this index open (<code>write.lock</code> could not be obtained) </td></tr>
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00873">873</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="acbbce30c73e871a7cf5c151ee0c775b9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_docs.html">TermDocs</a> Lucene.Net.Index.IndexReader.TermDocs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html">Term</a>&#160;</td>
<td class="paramname"><em>term</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an enumeration of all the documents which contain <code>term</code>. For each document, the document number, the frequency of the term in that document is also provided, for use in search scoring. If term is null, then all non-deleted docs are returned with freq=1. Thus, this method implements the mapping: <ul>
</ul>
<p>&amp;#160;&amp;#160; =&gt; &amp;#160;&amp;#160; &lt;docNum, freq&gt;<sup>*</sup> The enumeration is ordered by document number. Each document number is greater than all that precede it in the enumeration. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#aa39cb0552166e0c83509d6c2f94f9ba5">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a9c908c1152c90ef5eefa0b292943c492">Lucene.Net.Index.ParallelReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#af919900a739c8b2aab20607faf8c1815">Lucene.Net.Index.FilterIndexReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00919">919</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a1135d529c2f501ae0eb6ee191ab3bea4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_docs.html">TermDocs</a> Lucene.Net.Index.IndexReader.TermDocs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an unpositioned <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_docs.html" title="TermDocs provides an interface for enumerating &lt;document, frequency&gt; pairs for a term. The document portion names each document containing the term. Documents are indicated by number. The frequency portion gives the number of times the term occurred in each document. The pairs are ordered by document number. ">Lucene.Net.Index.TermDocs</a> enumerator.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#ab8d1ef7ecc9b0742a7a455cd1087aee9">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a254c2a6697bb4c9fdd12fb35b95186f4">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#acf4b212f07a062f505cb896275b7cacc">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a7581944c6b3b3d2cc0a9af0b88ea4339">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#aece2aca99f50a887b4bc2f2cb84bb610">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="a37d6736775ea229e6d58a87fddb8f4cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_positions.html">TermPositions</a> Lucene.Net.Index.IndexReader.TermPositions </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html">Term</a>&#160;</td>
<td class="paramname"><em>term</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an enumeration of all the documents which contain <code>term</code>. For each document, in addition to the document number and frequency of the term in that document, a list of all of the ordinal positions of the term in the document is available. Thus, this method implements the mapping: </p>
<ul>
</ul>
<p>&amp;#160;&amp;#160; =&gt; &amp;#160;&amp;#160; &lt;docNum, freq, &lt;pos<sub>1</sub>, pos<sub>2</sub>, ... pos<sub>freq-1</sub>&gt; &gt;<sup>*</sup> </p>
<p>This positional information facilitates phrase and proximity searching. </p>
<p>The enumeration is ordered by document number. Each document number is greater than all that precede it in the enumeration. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a3606bc680ce27ab9dfef217200e4f88a">Lucene.Net.Index.ParallelReader</a>.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00948">948</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a1387e3e694830317f2d14143500c20a0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_positions.html">TermPositions</a> Lucene.Net.Index.IndexReader.TermPositions </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an unpositioned <a class="el" href="interface_lucene_1_1_net_1_1_index_1_1_term_positions.html" title="TermPositions provides an interface for enumerating the &lt;document, frequency, &lt;position&gt;* &gt; tuples fo...">Lucene.Net.Index.TermPositions</a> enumerator.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#a3adba0756f0da4112b19510066c5215f">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#aca0871eedcc3be248ae54751b077d6ec">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a8bac0348ecc9d24acc294973e888c89d">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a5568cc1aba0604494b1049b03df941c5">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a82ea2d818d66b95d252dba65d40ec7f8">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="a9881fb10c3dbc407157b0c7e9cca7d11"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_enum.html">TermEnum</a> Lucene.Net.Index.IndexReader.Terms </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an enumeration of all the terms in the index. The enumeration is ordered by Term.compareTo(). Each term is greater than all that precede it in the enumeration. Note that after calling terms(), <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_enum.html#a3821b36f91dd29129649dc64f5ee1738" title="Increments the enumeration to the next element. True if one exists.">TermEnum.Next()</a> must be called on the resulting enumeration before calling other methods such as <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_enum.html#acfd949e542b23691974b3f867bcae47f" title="Returns the current Term in the enumeration.">TermEnum.Term</a>. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#a6479d6ac21b8553f970377cb7945ce15">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a2cb229934cf29c40635180b2160aad2d">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a9b9629fa760d1b59fdf1cf66c3e3622c">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#aaf27ba411920052d1c06b219231cd16d">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#aa04b4a04f026c89a142294748f203aad">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="a988a40eef7a24cfd117d421b3d1f5ef7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_enum.html">TermEnum</a> Lucene.Net.Index.IndexReader.Terms </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term.html">Term</a>&#160;</td>
<td class="paramname"><em>t</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an enumeration of all terms starting at a given term. If the given term does not exist, the enumeration is positioned at the first term greater than the supplied term. The enumeration is ordered by Term.compareTo(). Each term is greater than all that precede it in the enumeration. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_reader.html#aa6d05c9be2f67b2e304e241190b87428">Lucene.Net.Index.SegmentReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_directory_reader.html#a3e23765e8d39a779405aef5023358497">Lucene.Net.Index.DirectoryReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_parallel_reader.html#a54969ccd9f80761ecdd8c719af1c32da">Lucene.Net.Index.ParallelReader</a>, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_multi_reader.html#a0b506440344a8df07e4e238e766a228a">Lucene.Net.Index.MultiReader</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_filter_index_reader.html#a7cf739ae780128214792d6b96047b3ad">Lucene.Net.Index.FilterIndexReader</a>.</p>
</div>
</div>
<a class="anchor" id="aa45508588151dc9292027f8a88a5abb4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Index.IndexReader.UndeleteAll </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Undeletes all documents currently marked as deleted in this index. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_stale_reader_exception.html" title="This exception is thrown when an IndexReader tries to make changes to the index (via IndexReader...">StaleReaderException</a></td><td>If the index has changed since this reader was opened </td></tr>
<tr><td class="paramname"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a></td><td>If the index is corrupt</td></tr>
<tr><td class="paramname">LockObtainFailedException</td><td>If another writer has this index open (<code>write.lock</code> could not be obtained) </td></tr>
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01047">1047</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a4b55ed6495684a88e35b92b02da238f2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual IDictionary&lt;string, string&gt; Lucene.Net.Index.IndexReader.CommitUserData</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>Retrieve the String userData optionally passed to IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}). This will return null if IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}) has never been called for this index. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a9cb47d1bfbb41869b706163ca46da1e4" title="Reads commitUserData, previously passed to IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}), from current index segments file. This will return null if IndexWriter.Commit(System.Collections.Generic.IDictionary{string, string}) has never been called for this index. ">GetCommitUserData(Store.Directory)</a></dd></dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00578">578</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="af6a1050e8d3ba2f77ea808eef934e7ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual object Lucene.Net.Index.IndexReader.DeletesCacheKey</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>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01340">1340</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a01f3ebc46e11eaae1a961a7abe4c1f3c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual object Lucene.Net.Index.IndexReader.FieldCacheKey</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>Expert</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01331">1331</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ae5873f4e3a1253dd2cad0849eb74d9e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract bool Lucene.Net.Index.IndexReader.HasDeletions</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>Returns true if any documents have been deleted </p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00795">795</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aadd790323f856361d838541f9bea9dc3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html">IndexCommit</a> Lucene.Net.Index.IndexReader.IndexCommit</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>Expert: return the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_commit.html" title="Expert: represents a single commit into an index as seen by the IndexDeletionPolicy or IndexReader...">IndexCommit</a> that this reader has opened. This method is only implemented by those readers that correspond to a Directory with its own segments_N file. </p>
<p><b>WARNING</b>: this API is new and experimental and may suddenly change.</p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01192">1192</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ac7694e685dde51863b8974da924fa439"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract int Lucene.Net.Index.IndexReader.MaxDoc</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>Returns one greater than the largest possible document number. This may be used to, e.g., determine how big to allocate an array which will have an element for every document number in an index. </p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00709">709</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a8ca390814a8df63b33d2221348b61552"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int Lucene.Net.Index.IndexReader.NumDeletedDocs</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>Returns the number of deleted documents. </p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00713">713</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a9632e524a7f614fc4b1358a16bd0b4de"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int Lucene.Net.Index.IndexReader.RefCount</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>Expert: returns the current refCount for this reader </p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00134">134</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a72bb45cd17cc83e372e688508ebc9500"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int Lucene.Net.Index.IndexReader.TermInfosIndexDivisor</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>For <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> implementations that use <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_term_infos_reader.html" title="This stores a monotonically increasing set of &lt;Term, TermInfo&gt; pairs in a Directory. Pairs are accessed either by Term or by ordinal position the set. ">TermInfosReader</a> to read terms, this returns the current indexDivisor as specified when the reader was opened. </p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01370">1370</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aa614c1d7097682aed364038af8a71b65"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_lucene_1_1_net_1_1_documents_1_1_document.html">Document</a> Lucene.Net.Index.IndexReader.this[int doc]</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>Returns the stored fields of the <code>n</code><sup>th</sup> <code>Document</code> in this index. <b>NOTE:</b> for performance reasons, this method does not check if the requested document is deleted, and therefore asking for a deleted document may yield unspecified results. Usually this is not required, however you can call <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a13d56c7f3ac58f9e4990d9df156bada9" title="Returns true if document n has been deleted ">IsDeleted(int)</a> with the requested document ID to verify the document is not deleted. </p>
<p>&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_corrupt_index_exception.html" title="This exception is thrown when Lucene detects an inconsistency in the index. ">CorruptIndexException</a> if the index is corrupt &lt;/throws&gt; </p>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">System.IO.IOException</td><td>If there is a low-level IO error</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00748">748</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a40b1733b493afbca6307b8132e195fbd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual long Lucene.Net.Index.IndexReader.UniqueTermCount</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>Returns the number of unique terms (across all fields) in this reader. </p>
<p>This method returns long, even though internally <a class="el" href="namespace_lucene.html">Lucene</a> cannot handle more than 2^31 unique terms, for a possible future when this limitation is removed.</p>
<p>&lt;throws&gt; UnsupportedOperationException if this count &lt;/throws&gt; </p>
<p>cannot be easily determined (eg Multi*Readers). Instead, you should call <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a80ce49bcb14cf6c51f87404115ab705c" title="Expert: returns the sequential sub readers that this reader is logically composed of...">GetSequentialSubReaders</a> and ask each sub reader for its unique term count. </p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l01359">1359</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aad20c89b2d918432b2083d6db38b6f99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual long Lucene.Net.Index.IndexReader.Version</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>Version number when this <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> was opened. Not implemented in the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> base class. </p>
<p>If this reader is based on a Directory (ie, was created by calling <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ad51f1feca975e447b6486d01ed24e1ea" title="Returns an IndexReader reading the index in the given Directory. You should pass readOnly=true, since it gives much better concurrent performance, unless you intend to do write operations (delete documents or change norms) with the reader. ">Open(Lucene.Net.Store.Directory, bool)</a>, or <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#afdbae91b13509eca9832c2b4aa33591d" title="Refreshes an IndexReader if the index has changed since this instance was (re)opened. Opening an IndexReader is an expensive operation. This method can be used to refresh an existing IndexReader to reduce these costs. This method tries to only load segments that have changed or were created after the IndexReader was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is not closed and remains usable. If the reader is reopened, even though they share resources internally, it&#39;s safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys &quot;copy on write&quot; semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method:">Reopen()</a> on a reader based on a Directory), then this method returns the version recorded in the commit that the reader opened. This version is advanced every time <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html#ad1df12452bb45f153d9d06e1c160e2ff" title="Commits all pending changes (added &amp; deleted documents, optimizations, segment merges, added indexes, etc.) to the index, and syncs all referenced index files, such that a reader will see the changes and the index updates will survive an OS or machine crash or power loss. Note that this does not wait for any running background merges to finish. This may be a costly operation, so you should test the cost in your application and do it only when really necessary.">IndexWriter.Commit()</a> is called. </p>
<p>If instead this reader is a near real-time reader (ie, obtained by a call to <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html#a57044cd06b7b2b00bb33a08ad666d4c5" title="Expert: returns a readonly reader, covering all committed as well as un-committed changes to the inde...">IndexWriter.GetReader()</a>, or by calling <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#afdbae91b13509eca9832c2b4aa33591d" title="Refreshes an IndexReader if the index has changed since this instance was (re)opened. Opening an IndexReader is an expensive operation. This method can be used to refresh an existing IndexReader to reduce these costs. This method tries to only load segments that have changed or were created after the IndexReader was (re)opened. If the index has not changed since this instance was (re)opened, then this call is a NOOP and returns this instance. Otherwise, a new instance is returned. The old instance is not closed and remains usable. If the reader is reopened, even though they share resources internally, it&#39;s safe to make changes (deletions, norms) with the new reader. All shared mutable state obeys &quot;copy on write&quot; semantics to ensure the changes are not seen by other readers. You can determine whether a reader was actually reopened by comparing the old instance with the instance returned by this method:">Reopen()</a> on a near real-time reader), then this method returns the version of the last commit done by the writer. Note that even as further changes are made with the writer, the version will not changed until a commit is completed. Thus, you should not rely on this method to determine when a near real-time reader should be opened. Use <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#a3f912bfed2d6e04c0eb11885c0d048e2" title="Check whether any new changes have occurred to the index since this reader was opened.">IsCurrent</a> instead. </p>
<p>&lt;throws&gt; UnsupportedOperationException &lt;/throws&gt; </p>
<p>unless overridden in subclass </p>
<p>Definition at line <a class="el" href="_index_reader_8cs_source.html#l00565">565</a> of file <a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>core/Index/<a class="el" href="_index_reader_8cs_source.html">IndexReader.cs</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:52 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>