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

Reply via email to