blob: 1098bd48561526c1972499470756003995e3cdf9 [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.LogMergePolicy 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_merge_policy.html">LogMergePolicy</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="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Lucene.Net.Index.LogMergePolicy Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>This class implements a <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html" title="Expert: a MergePolicy determines the sequence of primitive merge operations to be used for overall me...">MergePolicy</a> that tries to merge segments into levels of exponentially increasing size, where each level has fewer segments than the value of the merge factor. Whenever extra segments (beyond the merge factor upper bound) are encountered, all segments within the level are merged. You can get or set the merge factor using <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> and <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> respectively.
<a href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#details">More...</a></p>
<p>Inherits <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html">Lucene.Net.Index.MergePolicy</a>.</p>
<p>Inherited by <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_byte_size_merge_policy.html">Lucene.Net.Index.LogByteSizeMergePolicy</a>, and <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_doc_merge_policy.html">Lucene.Net.Index.LogDocMergePolicy</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:af1368fcf83da177b54ee51cb6298d094"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9a29fe70aa58e13b5d0d7c392691d61"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa78fec327e489e7f6c3311eed1f810d5"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a923c68510a0cf63a18a462a8bee38baa"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00868cfa3971e06faca3c1131ec9adf2"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abacd37dc4cf810bcd6e62dc94373f47a"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bb27d9bc06ba140107d1db6006205d9"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80dd97b6c0b20ec31c60240f2edaff85"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d080dddbe961a1bf0c771648851a998"><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"><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"><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:af2d015d2491231b96037eaeea8aa38a9"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07efb31ddaf7510f52ffafeffb3c3cd9"><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"><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"><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-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a087843c49c3d451f339a4277febc44be"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a771836f0b8ce6f92f0cedf96c50a3616"><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"><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"><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:a2d1df28fc5167567f33360593cf71e9b"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f98c1df109efac506ad700d46191976"><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"><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>
<tr class="memitem:a3725d06aec319499ba190f85b5d763cc inherit pro_methods_class_lucene_1_1_net_1_1_index_1_1_merge_policy"><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_merge_policy.html#a3725d06aec319499ba190f85b5d763cc">Dispose</a> (bool disposing)</td></tr>
<tr class="separator:a3725d06aec319499ba190f85b5d763cc 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="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ad787f9167234411197eb1d575dba1d01"><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"><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:a351756a2f92fc8859902110ce86d7912"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b619621da6f4aff4deb17be8ab5f97b"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c3d58346ff12082ed2090309fe3b444"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a470ef73d16ada0c51cde48e9f16551a2"><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"><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"><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 class implements a <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html" title="Expert: a MergePolicy determines the sequence of primitive merge operations to be used for overall me...">MergePolicy</a> that tries to merge segments into levels of exponentially increasing size, where each level has fewer segments than the value of the merge factor. Whenever extra segments (beyond the merge factor upper bound) are encountered, all segments within the level are merged. You can get or set the merge factor using <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> and <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> respectively.</p>
<p>This class is abstract and requires a subclass to define the Size method which specifies how a segment's size is determined. <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_doc_merge_policy.html" title="This is a LogMergePolicy that measures size of a segment as the number of documents (not taking delet...">LogDocMergePolicy</a> is one subclass that measures size by document count in the segment. <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_byte_size_merge_policy.html" title="This is a LogMergePolicy that measures size of a segment as the total byte size of the segment&#39;s file...">LogByteSizeMergePolicy</a> is another subclass that measures size as the total byte size of the file(s) for the segment.</p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00042">42</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2d1df28fc5167567f33360593cf71e9b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Lucene.Net.Index.LogMergePolicy.LogMergePolicy </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>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00082">82</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a3d080dddbe961a1bf0c771648851a998"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy_1_1_merge_specification.html">MergeSpecification</a> Lucene.Net.Index.LogMergePolicy.FindMerges </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a>&#160;</td>
<td class="paramname"><em>infos</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>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. </p>
<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html#a022cab42518ce1ae0b2d3b36c33ef169">Lucene.Net.Index.MergePolicy</a>.</p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00413">413</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a1bb27d9bc06ba140107d1db6006205d9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy_1_1_merge_specification.html">MergeSpecification</a> Lucene.Net.Index.LogMergePolicy.FindMergesForOptimize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a>&#160;</td>
<td class="paramname"><em>infos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>maxNumSegments</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ISet&lt; <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_info.html">SegmentInfo</a> &gt;&#160;</td>
<td class="paramname"><em>segmentsToOptimize</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>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. </p>
<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html#ad6010c4fa62e433c1c3042a666fba62b">Lucene.Net.Index.MergePolicy</a>.</p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00259">259</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a80dd97b6c0b20ec31c60240f2edaff85"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy_1_1_merge_specification.html">MergeSpecification</a> Lucene.Net.Index.LogMergePolicy.FindMergesToExpungeDeletes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a>&#160;</td>
<td class="paramname"><em>segmentInfos</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>Finds merges necessary to expunge all deletes from the index. We simply merge adjacent segments that have deletes, up to mergeFactor at a time. </p>
<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html#a88ec89d1914e64f08aa0031174a7b792">Lucene.Net.Index.MergePolicy</a>.</p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00354">354</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="abacd37dc4cf810bcd6e62dc94373f47a"></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.LogMergePolicy.GetUseCompoundDocStore </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 true if newly flushed and newly merge doc store segment files (term vectors and stored fields) </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a00868cfa3971e06faca3c1131ec9adf2" title="Sets whether compound file format should be used for newly flushed and newly merged doc store segment...">SetUseCompoundDocStore </a></dd></dl>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00177">177</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aa78fec327e489e7f6c3311eed1f810d5"></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.LogMergePolicy.GetUseCompoundFile </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>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00151">151</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a8f98c1df109efac506ad700d46191976"></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_index_1_1_merge_policy_1_1_one_merge.html">OneMerge</a> Lucene.Net.Index.LogMergePolicy.MakeOneMerge </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a>&#160;</td>
<td class="paramname"><em>infos</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_segment_infos.html">SegmentInfos</a>&#160;</td>
<td class="paramname"><em>infosToMerge</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00526">526</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a00868cfa3971e06faca3c1131ec9adf2"></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.LogMergePolicy.SetUseCompoundDocStore </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>useCompoundDocStore</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>Sets whether compound file format should be used for newly flushed and newly merged doc store segment files (term vectors and stored fields). </p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00166">166</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aa9a29fe70aa58e13b5d0d7c392691d61"></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.LogMergePolicy.SetUseCompoundFile </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>useCompoundFile</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>Gets or sets whether compound file format should be used for newly flushed and newly merged segments. </p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00145">145</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a923c68510a0cf63a18a462a8bee38baa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override bool Lucene.Net.Index.LogMergePolicy.UseCompoundDocStore </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a>&#160;</td>
<td class="paramname"><em>segments</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 the doc store files should use the compound file format. </p>
<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html#a792ecc7941eba2d8e2e663d6c1ed716d">Lucene.Net.Index.MergePolicy</a>.</p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00157">157</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="af1368fcf83da177b54ee51cb6298d094"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override bool Lucene.Net.Index.LogMergePolicy.UseCompoundFile </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_segment_infos.html">SegmentInfos</a>&#160;</td>
<td class="paramname"><em>segments</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_segment_info.html">SegmentInfo</a>&#160;</td>
<td class="paramname"><em>newSegment</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>Returns true if a newly flushed (not from merge) segment should use the compound file format. </p>
<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_merge_policy.html#a7e6990cdf8e861dbd54b35a5e0fb2e15">Lucene.Net.Index.MergePolicy</a>.</p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00137">137</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a087843c49c3d451f339a4277febc44be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">readonly int Lucene.Net.Index.LogMergePolicy.DEFAULT_MAX_MERGE_DOCS = System.Int32.MaxValue</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>Default maximum segment size. A segment of this size</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_merge_policy.html#a470ef73d16ada0c51cde48e9f16551a2" title="Gets or sets the largest segment (measured by document count) that may be merged with other segments...">MaxMergeDocs</a></dd></dl>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00060">60</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a07efb31ddaf7510f52ffafeffb3c3cd9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int Lucene.Net.Index.LogMergePolicy.DEFAULT_MERGE_FACTOR = 10</td>
</tr>
</table>
</div><div class="memdoc">
<p>Default merge factor, which is how many segments are merged at a time </p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00055">55</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a771836f0b8ce6f92f0cedf96c50a3616"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double Lucene.Net.Index.LogMergePolicy.DEFAULT_NO_CFS_RATIO = 0.1</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>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> </p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00066">66</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ad787f9167234411197eb1d575dba1d01"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double Lucene.Net.Index.LogMergePolicy.internalNoCFSRatio = <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>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00074">74</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="af2d015d2491231b96037eaeea8aa38a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const double Lucene.Net.Index.LogMergePolicy.LEVEL_LOG_SPAN = 0.75</td>
</tr>
</table>
</div><div class="memdoc">
<p>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. </p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00050">50</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a9c3d58346ff12082ed2090309fe3b444"></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.LogMergePolicy.CalibrateSizeByDeletes</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 whether the segment size should be calibrated by the number of deletes when choosing segments for merge. </p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00186">186</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a470ef73d16ada0c51cde48e9f16551a2"></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.LogMergePolicy.MaxMergeDocs</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 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.</p>
<p>The default value is int.MaxValue.</p>
<p>The default merge policy (<a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_byte_size_merge_policy.html" title="This is a LogMergePolicy that measures size of a segment as the total byte size of the segment&#39;s file...">LogByteSizeMergePolicy</a>) also allows you to set this limit by net size (in MB) of the segment, using <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_log_byte_size_merge_policy.html#a2523b0db76b78b6f3430d141b7d98fa0" title="Gets or sets the largest segment (measured by total byte size of the segment&#39;s files, in MB) that may be merged with other segments. Small values (e.g., less than 50 MB) 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.">LogByteSizeMergePolicy.MaxMergeMB</a>.</p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00575">575</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a7b619621da6f4aff4deb17be8ab5f97b"></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.LogMergePolicy.MergeFactor</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 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. </p>
<p>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00127">127</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a351756a2f92fc8859902110ce86d7912"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double Lucene.Net.Index.LogMergePolicy.NoCFSRatio</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>Definition at line <a class="el" href="_log_merge_policy_8cs_source.html#l00092">92</a> of file <a class="el" href="_log_merge_policy_8cs_source.html">LogMergePolicy.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_merge_policy_8cs_source.html">LogMergePolicy.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>