blob: 590a37b137972cbf6f4ca5d1410b58f9cb318ae0 [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.LogDocMergePolicy 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_log_doc_merge_policy.html">LogDocMergePolicy</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</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_log_doc_merge_policy-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Lucene.Net.Index.LogDocMergePolicy Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This is a <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html" title="This class implements a MergePolicy that tries to merge segments into levels of exponentially increas...">LogMergePolicy</a> that measures size of a segment as the number of documents (not taking deletions into account).
<a href="class_lucene_1_1_net_1_1_index_1_1_log_doc_merge_policy.html#details">More...</a></p>
<p>Inherits <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html">Lucene.Net.Index.LogMergePolicy</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:acd8b3d49dde06f33785d7d07dde858d3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_doc_merge_policy.html#acd8b3d49dde06f33785d7d07dde858d3">LogDocMergePolicy</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html">IndexWriter</a> writer)</td></tr>
<tr class="separator:acd8b3d49dde06f33785d7d07dde858d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html">Lucene.Net.Index.LogMergePolicy</a></td></tr>
<tr class="memitem:af1368fcf83da177b54ee51cb6298d094 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">override bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#af1368fcf83da177b54ee51cb6298d094">UseCompoundFile</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a> infos, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_info.html">SegmentInfo</a> info)</td></tr>
<tr class="memdesc:af1368fcf83da177b54ee51cb6298d094 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if a newly flushed (not from merge) segment should use the compound file format. <a href="#af1368fcf83da177b54ee51cb6298d094"></a><br/></td></tr>
<tr class="separator:af1368fcf83da177b54ee51cb6298d094 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9a29fe70aa58e13b5d0d7c392691d61 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><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_log_merge_policy.html#aa9a29fe70aa58e13b5d0d7c392691d61">SetUseCompoundFile</a> (bool useCompoundFile)</td></tr>
<tr class="memdesc:aa9a29fe70aa58e13b5d0d7c392691d61 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets whether compound file format should be used for newly flushed and newly merged segments. <a href="#aa9a29fe70aa58e13b5d0d7c392691d61"></a><br/></td></tr>
<tr class="separator:aa9a29fe70aa58e13b5d0d7c392691d61 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa78fec327e489e7f6c3311eed1f810d5 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><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_log_merge_policy.html#aa78fec327e489e7f6c3311eed1f810d5">GetUseCompoundFile</a> ()</td></tr>
<tr class="separator:aa78fec327e489e7f6c3311eed1f810d5 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a923c68510a0cf63a18a462a8bee38baa inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">override bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a923c68510a0cf63a18a462a8bee38baa">UseCompoundDocStore</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a> infos)</td></tr>
<tr class="memdesc:a923c68510a0cf63a18a462a8bee38baa inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the doc store files should use the compound file format. <a href="#a923c68510a0cf63a18a462a8bee38baa"></a><br/></td></tr>
<tr class="separator:a923c68510a0cf63a18a462a8bee38baa inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00868cfa3971e06faca3c1131ec9adf2 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><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_log_merge_policy.html#a00868cfa3971e06faca3c1131ec9adf2">SetUseCompoundDocStore</a> (bool useCompoundDocStore)</td></tr>
<tr class="memdesc:a00868cfa3971e06faca3c1131ec9adf2 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets whether compound file format should be used for newly flushed and newly merged doc store segment files (term vectors and stored fields). <a href="#a00868cfa3971e06faca3c1131ec9adf2"></a><br/></td></tr>
<tr class="separator:a00868cfa3971e06faca3c1131ec9adf2 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abacd37dc4cf810bcd6e62dc94373f47a inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><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_log_merge_policy.html#abacd37dc4cf810bcd6e62dc94373f47a">GetUseCompoundDocStore</a> ()</td></tr>
<tr class="memdesc:abacd37dc4cf810bcd6e62dc94373f47a inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if newly flushed and newly merge doc store segment files (term vectors and stored fields) <a href="#abacd37dc4cf810bcd6e62dc94373f47a"></a><br/></td></tr>
<tr class="separator:abacd37dc4cf810bcd6e62dc94373f47a inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bb27d9bc06ba140107d1db6006205d9 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">override <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy_1_1_merge_specification.html">MergeSpecification</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a1bb27d9bc06ba140107d1db6006205d9">FindMergesForOptimize</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a> infos, int maxNumSegments, ISet&lt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_info.html">SegmentInfo</a> &gt; segmentsToOptimize)</td></tr>
<tr class="memdesc:a1bb27d9bc06ba140107d1db6006205d9 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the merges necessary to optimize the index. This merge policy defines "optimized" to mean only one segment in the index, where that segment has no deletions pending nor separate norms, and it is in compound file format if the current useCompoundFile setting is true. This method returns multiple merges (mergeFactor at a time) so the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_scheduler.html" title="Expert: IndexWriter uses an instance implementing this interface to execute the merges selected by a ...">MergeScheduler</a> in use may make use of concurrency. <a href="#a1bb27d9bc06ba140107d1db6006205d9"></a><br/></td></tr>
<tr class="separator:a1bb27d9bc06ba140107d1db6006205d9 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80dd97b6c0b20ec31c60240f2edaff85 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">override <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy_1_1_merge_specification.html">MergeSpecification</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a80dd97b6c0b20ec31c60240f2edaff85">FindMergesToExpungeDeletes</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a> segmentInfos)</td></tr>
<tr class="memdesc:a80dd97b6c0b20ec31c60240f2edaff85 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds merges necessary to expunge all deletes from the index. We simply merge adjacent segments that have deletes, up to mergeFactor at a time. <a href="#a80dd97b6c0b20ec31c60240f2edaff85"></a><br/></td></tr>
<tr class="separator:a80dd97b6c0b20ec31c60240f2edaff85 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d080dddbe961a1bf0c771648851a998 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">override <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy_1_1_merge_specification.html">MergeSpecification</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a3d080dddbe961a1bf0c771648851a998">FindMerges</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a> infos)</td></tr>
<tr class="memdesc:a3d080dddbe961a1bf0c771648851a998 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if any merges are now necessary and returns a <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy_1_1_merge_specification.html" title="A MergeSpecification instance provides the information necessary to perform multiple merges...">MergePolicy.MergeSpecification</a> if so. A merge is necessary when there are more than <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a7b619621da6f4aff4deb17be8ab5f97b" title="Gets or sets how often segment indices are merged by addDocument(). With smaller values, less RAM is used while indexing, and searches on unoptimized indices are faster, but indexing speed is slower. With larger values, more RAM is used during indexing, and while searches on unoptimized indices are slower, indexing is faster. Thus larger values (&gt; 10) are best for batch index creation, and smaller values (&lt; 10) for indices that are interactively maintained. ">MergeFactor</a> segments at a given level. When multiple levels have too many segments, this method will return multiple merges, allowing the <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_scheduler.html" title="Expert: IndexWriter uses an instance implementing this interface to execute the merges selected by a ...">MergeScheduler</a> to use concurrency. <a href="#a3d080dddbe961a1bf0c771648851a998"></a><br/></td></tr>
<tr class="separator:a3d080dddbe961a1bf0c771648851a998 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html">Lucene.Net.Index.MergePolicy</a></td></tr>
<tr class="memitem:aa23e500e2fb34ae16af22d6cca0c0ddc inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><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_merge_policy.html#aa23e500e2fb34ae16af22d6cca0c0ddc">Close</a> ()</td></tr>
<tr class="memdesc:aa23e500e2fb34ae16af22d6cca0c0ddc inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release all resources for the policy. <a href="#aa23e500e2fb34ae16af22d6cca0c0ddc"></a><br/></td></tr>
<tr class="separator:aa23e500e2fb34ae16af22d6cca0c0ddc inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ee31cf76a7d4fef683ca53c792e6de5 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><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_merge_policy.html#a2ee31cf76a7d4fef683ca53c792e6de5">Dispose</a> ()</td></tr>
<tr class="memdesc:a2ee31cf76a7d4fef683ca53c792e6de5 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release all resources for the policy. <a href="#a2ee31cf76a7d4fef683ca53c792e6de5"></a><br/></td></tr>
<tr class="separator:a2ee31cf76a7d4fef683ca53c792e6de5 inherit pub_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a06f035887352c6cb0d5111baf437f056"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_doc_merge_policy.html#a06f035887352c6cb0d5111baf437f056">DEFAULT_MIN_MERGE_DOCS</a> = 1000</td></tr>
<tr class="separator:a06f035887352c6cb0d5111baf437f056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html">Lucene.Net.Index.LogMergePolicy</a></td></tr>
<tr class="memitem:af2d015d2491231b96037eaeea8aa38a9 inherit pub_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">const double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#af2d015d2491231b96037eaeea8aa38a9">LEVEL_LOG_SPAN</a> = 0.75</td></tr>
<tr class="memdesc:af2d015d2491231b96037eaeea8aa38a9 inherit pub_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the allowed range of log(size) for each level. A level is computed by taking the max segment log size, minus LEVEL_LOG_SPAN, and finding all segments falling within that range. <a href="#af2d015d2491231b96037eaeea8aa38a9"></a><br/></td></tr>
<tr class="separator:af2d015d2491231b96037eaeea8aa38a9 inherit pub_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07efb31ddaf7510f52ffafeffb3c3cd9 inherit pub_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a07efb31ddaf7510f52ffafeffb3c3cd9">DEFAULT_MERGE_FACTOR</a> = 10</td></tr>
<tr class="memdesc:a07efb31ddaf7510f52ffafeffb3c3cd9 inherit pub_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default merge factor, which is how many segments are merged at a time <a href="#a07efb31ddaf7510f52ffafeffb3c3cd9"></a><br/></td></tr>
<tr class="separator:a07efb31ddaf7510f52ffafeffb3c3cd9 inherit pub_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><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:a8282b5eef03262d2d137e35e011d90d5"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_doc_merge_policy.html#a8282b5eef03262d2d137e35e011d90d5">Dispose</a> (bool disposing)</td></tr>
<tr class="separator:a8282b5eef03262d2d137e35e011d90d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html">Lucene.Net.Index.LogMergePolicy</a></td></tr>
<tr class="memitem:a2d1df28fc5167567f33360593cf71e9b inherit pro_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a2d1df28fc5167567f33360593cf71e9b">LogMergePolicy</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html">IndexWriter</a> writer)</td></tr>
<tr class="separator:a2d1df28fc5167567f33360593cf71e9b inherit pro_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f98c1df109efac506ad700d46191976 inherit pro_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy_1_1_one_merge.html">OneMerge</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a8f98c1df109efac506ad700d46191976">MakeOneMerge</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a> infos, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a> infosToMerge)</td></tr>
<tr class="separator:a8f98c1df109efac506ad700d46191976 inherit pro_methods_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html">Lucene.Net.Index.MergePolicy</a></td></tr>
<tr class="memitem:ac7060dfe4b7a301e658b22974bf05149 inherit pro_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html#ac7060dfe4b7a301e658b22974bf05149">MergePolicy</a> (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html">IndexWriter</a> writer)</td></tr>
<tr class="separator:ac7060dfe4b7a301e658b22974bf05149 inherit pro_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><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:a9f014b5465e9b2ce9438669ad61a7d7e"><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_log_doc_merge_policy.html#a9f014b5465e9b2ce9438669ad61a7d7e">MinMergeDocs</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a9f014b5465e9b2ce9438669ad61a7d7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets the minimum size for the lowest level segments. Any segments below this size are considered to be on the same level (even if they vary drastically in size) and will be merged whenever there are mergeFactor of them. This effectively truncates the "long tail" of small segments that would otherwise be created into a single level. If you set this too large, it could greatly increase the merging cost during indexing (if you flush many small segments). <a href="#a9f014b5465e9b2ce9438669ad61a7d7e"></a><br/></td></tr>
<tr class="separator:a9f014b5465e9b2ce9438669ad61a7d7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td colspan="2" onclick="javascript:toggleInherit('properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html">Lucene.Net.Index.LogMergePolicy</a></td></tr>
<tr class="memitem:a351756a2f92fc8859902110ce86d7912 inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a351756a2f92fc8859902110ce86d7912">NoCFSRatio</a><code> [get, set]</code></td></tr>
<tr class="separator:a351756a2f92fc8859902110ce86d7912 inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b619621da6f4aff4deb17be8ab5f97b inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><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_log_merge_policy.html#a7b619621da6f4aff4deb17be8ab5f97b">MergeFactor</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a7b619621da6f4aff4deb17be8ab5f97b inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets how often segment indices are merged by addDocument(). With smaller values, less RAM is used while indexing, and searches on unoptimized indices are faster, but indexing speed is slower. With larger values, more RAM is used during indexing, and while searches on unoptimized indices are slower, indexing is faster. Thus larger values (&gt; 10) are best for batch index creation, and smaller values (&lt; 10) for indices that are interactively maintained. <a href="#a7b619621da6f4aff4deb17be8ab5f97b"></a><br/></td></tr>
<tr class="separator:a7b619621da6f4aff4deb17be8ab5f97b inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c3d58346ff12082ed2090309fe3b444 inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><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_log_merge_policy.html#a9c3d58346ff12082ed2090309fe3b444">CalibrateSizeByDeletes</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a9c3d58346ff12082ed2090309fe3b444 inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets whether the segment size should be calibrated by the number of deletes when choosing segments for merge. <a href="#a9c3d58346ff12082ed2090309fe3b444"></a><br/></td></tr>
<tr class="separator:a9c3d58346ff12082ed2090309fe3b444 inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a470ef73d16ada0c51cde48e9f16551a2 inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><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_log_merge_policy.html#a470ef73d16ada0c51cde48e9f16551a2">MaxMergeDocs</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a470ef73d16ada0c51cde48e9f16551a2 inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets the largest segment (measured by document count) that may be merged with other segments. Determines the largest segment (measured by document count) that may be merged with other segments. Small values (e.g., less than 10,000) are best for interactive indexing, as this limits the length of pauses while indexing to a few seconds. Larger values are best for batched indexing and speedier searches. <a href="#a470ef73d16ada0c51cde48e9f16551a2"></a><br/></td></tr>
<tr class="separator:a470ef73d16ada0c51cde48e9f16551a2 inherit properties_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html">Lucene.Net.Index.LogMergePolicy</a></td></tr>
<tr class="memitem:a087843c49c3d451f339a4277febc44be inherit pub_static_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">static readonly int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a087843c49c3d451f339a4277febc44be">DEFAULT_MAX_MERGE_DOCS</a> = System.Int32.MaxValue</td></tr>
<tr class="memdesc:a087843c49c3d451f339a4277febc44be inherit pub_static_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default maximum segment size. A segment of this size <a href="#a087843c49c3d451f339a4277febc44be"></a><br/></td></tr>
<tr class="separator:a087843c49c3d451f339a4277febc44be inherit pub_static_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a771836f0b8ce6f92f0cedf96c50a3616 inherit pub_static_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a771836f0b8ce6f92f0cedf96c50a3616">DEFAULT_NO_CFS_RATIO</a> = 0.1</td></tr>
<tr class="memdesc:a771836f0b8ce6f92f0cedf96c50a3616 inherit pub_static_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default noCFSRatio. If a merge's size is &gt;= 10% of the index, then we disable compound file for it. See <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a351756a2f92fc8859902110ce86d7912">NoCFSRatio</a> <a href="#a771836f0b8ce6f92f0cedf96c50a3616"></a><br/></td></tr>
<tr class="separator:a771836f0b8ce6f92f0cedf96c50a3616 inherit pub_static_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html">Lucene.Net.Index.LogMergePolicy</a></td></tr>
<tr class="memitem:ad787f9167234411197eb1d575dba1d01 inherit pro_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#ad787f9167234411197eb1d575dba1d01">internalNoCFSRatio</a> = <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a771836f0b8ce6f92f0cedf96c50a3616">DEFAULT_NO_CFS_RATIO</a></td></tr>
<tr class="separator:ad787f9167234411197eb1d575dba1d01 inherit pro_attribs_class_lucene_1_1_net_1_1_index_1_1_log_merge_policy"><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>This is a <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html" title="This class implements a MergePolicy that tries to merge segments into levels of exponentially increas...">LogMergePolicy</a> that measures size of a segment as the number of documents (not taking deletions into account). </p>
<p>Definition at line <a class="el" href="_log_doc_merge_policy_8cs_source.html#l00028">28</a> of file <a class="el" href="_log_doc_merge_policy_8cs_source.html">LogDocMergePolicy.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="acd8b3d49dde06f33785d7d07dde858d3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Lucene.Net.Index.LogDocMergePolicy.LogDocMergePolicy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_writer.html">IndexWriter</a>&#160;</td>
<td class="paramname"><em>writer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_log_doc_merge_policy_8cs_source.html#l00035">35</a> of file <a class="el" href="_log_doc_merge_policy_8cs_source.html">LogDocMergePolicy.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a8282b5eef03262d2d137e35e011d90d5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override void Lucene.Net.Index.LogDocMergePolicy.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>Implements <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html#a3725d06aec319499ba190f85b5d763cc">Lucene.Net.Index.MergePolicy</a>.</p>
<p>Definition at line <a class="el" href="_log_doc_merge_policy_8cs_source.html#l00048">48</a> of file <a class="el" href="_log_doc_merge_policy_8cs_source.html">LogDocMergePolicy.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a06f035887352c6cb0d5111baf437f056"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int Lucene.Net.Index.LogDocMergePolicy.DEFAULT_MIN_MERGE_DOCS = 1000</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_doc_merge_policy.html#a9f014b5465e9b2ce9438669ad61a7d7e" title="Gets or sets the minimum size for the lowest level segments. Any segments below this size are conside...">MinMergeDocs</a></dd></dl>
<p>Definition at line <a class="el" href="_log_doc_merge_policy_8cs_source.html#l00033">33</a> of file <a class="el" href="_log_doc_merge_policy_8cs_source.html">LogDocMergePolicy.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a9f014b5465e9b2ce9438669ad61a7d7e"></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.LogDocMergePolicy.MinMergeDocs</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets or sets the minimum size for the lowest level segments. Any segments below this size are considered to be on the same level (even if they vary drastically in size) and will be merged whenever there are mergeFactor of them. This effectively truncates the "long tail" of small segments that would otherwise be created into a single level. If you set this too large, it could greatly increase the merging cost during indexing (if you flush many small segments). </p>
<p>Definition at line <a class="el" href="_log_doc_merge_policy_8cs_source.html#l00064">64</a> of file <a class="el" href="_log_doc_merge_policy_8cs_source.html">LogDocMergePolicy.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="_log_doc_merge_policy_8cs_source.html">LogDocMergePolicy.cs</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:54 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>