On 9/20/2011 4:09 PM, Robert Muir wrote:
yes, mergeFactory=10 is interpreted as both segmentsPerTier and
maxMergeAtOnce. yes, specifying explicit TieredMP parameters will
override whatever you set in mergeFactor (which is basically only
interpreted to be backwards compatible) this is why i created this
confusing test configuration: to test this exact case.
I've got a checked out lucene_solr_3_4 and this isn't what I'm seeing.
Solr Implementation Version: 3.4-SNAPSHOT 1173320M - root - 2011-09-21
09:58:58
With no mergeFactor defined, maxMergeAtOnce and segmentsPerTier seem to
be ignored. I've got both set to 35, but Solr is merging every 10
segments. I haven't tried explicitly setting mergeFactor yet to see if
that will make the other settings override it, I'm letting the current
import finish first.
Here's the relevant config pieces. These two sections are in separate
files incorporated into solrconfig.xml using xinclude:
<indexDefaults>
<useCompoundFile>false</useCompoundFile>
<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler">
<int name="maxMergeCount">4</int>
<int name="maxThreadCount">4</int>
</mergeScheduler>
<ramBufferSizeMB>96</ramBufferSizeMB>
<maxFieldLength>32768</maxFieldLength>
<writeLockTimeout>1000</writeLockTimeout>
<commitLockTimeout>10000</commitLockTimeout>
<lockType>native</lockType>
</indexDefaults>
<mergePolicy class="org.apache.lucene.index.TieredMergePolicy">
<int name="maxMergeAtOnce">35</int>
<int name="segmentsPerTier">35</int>
<int name="maxMergeAtOnceExplicit">105</int>
</mergePolicy>
Thanks,
Shawn