On 3/26/2014 12:50 PM, Usman Parvez wrote:
Thanks Shawn for your reply. Actually, initially I only used
<mergeFactor>3</mergeFactor>
in config without defining any policy. But was not able to find any
positive results of merging as Number of FDT and FDX was still the same as
before. Yesterday, tried these default setting from Solr documentation
mentioned earlier but in vain.
So, Should i use mergeFactor with LogMergePolicy? What is your
recommendation for getting desired results.

Don't use the old log merge policy. You want the improvements that come from TieredMergePolicy. You just have to configure it right.

Below is my entire IndexConfig section. The mergePolicy setting is the equivalent of a mergeFactor setting of 35. The mergeScheduler config is something that I think everyone should have. Because you will be doing a lot more merging than most, it's VERY important for you. The ramBufferSizeMB value defaults to 100 in recent solr versions. It was 32 in older versions. I have an infoStream configured, but it is disabled.

<indexConfig>
  <mergePolicy class="org.apache.lucene.index.TieredMergePolicy">
    <int name="maxMergeAtOnce">35</int>
    <int name="segmentsPerTier">35</int>
    <int name="maxMergeAtOnceExplicit">105</int>
  </mergePolicy>
  <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler">
    <int name="maxThreadCount">1</int>
    <int name="maxMergeCount">6</int>
  </mergeScheduler>
  <ramBufferSizeMB>48</ramBufferSizeMB>
  <infoStream file="INFOSTREAM-${solr.core.name}.txt">false</infoStream>
</indexConfig>

If you want the equivalent of a mergeFactor of 3, you should go with something like the above, but replace the mergePolicy with this:

  <mergePolicy class="org.apache.lucene.index.TieredMergePolicy">
    <int name="maxMergeAtOnce">3</int>
    <int name="segmentsPerTier">3</int>
  </mergePolicy>

Thanks,
Shawn

Reply via email to