On Tue, Jun 21, 2011 at 9:42 AM, Shawn Heisey <s...@elyograg.org> wrote:
> On 6/20/2011 12:31 PM, Michael McCandless wrote:
>>
>> For back-compat, mergeFactor maps to both of these, but it's better to
>> set them directly eg:
>>
>>     <mergePolicy class="org.apache.lucene.index.TieredMergePolicy">
>>       <int name="maxMergeAtOnce">10</int>
>>       <int name="segmentsPerTier">20</int>
>>     </mergePolicy>
>>
>> (and then remove your mergeFactor setting under indexDefaults)
>
> When I did this and ran a reindex, it merged once it reached 10 segments,
> despite what I had defined in the mergePolicy.  This is Solr 3.2 with the
> patch from SOLR-1972 applied.  I've included the config snippet below into
> solrconfig.xml using xinclude via another file.  I had to put mergeFactor
> back in to make it work right.  I haven't checked yet to see whether an
> optimize takes one pass.  That will be later today.
>
> <mergePolicy class="org.apache.lucene.index.TieredMergePolicy">
> <int name="maxMergeAtOnce">35</int>
> <int name="segmentsPerTier">35</int>
> <int name="maxMergeAtOnceExplicit">105</int>
> </mergePolicy>

Hmm something strange is going on.

In Solr 3.2, if you attempt to use mergeFactor and useCompoundFile
inside indexDefaults (and outside the mergePolicy), when your
mergePolicy is TMP, you should see a warning like this:

  Use of compound file format or mergefactor cannot be configured if
merge policy is not an instance of LogMergePolicy. The configured
policy's defaults will be used.

And it shouldn't "work".  But, using the "right" params inside your
mergePolicy section ought to work (though, I don't think this is well
tested...).  I'm not sure why you're seeing the opposite of what I'd
expect...

I wonder if you're actually really getting the TMP?  Can you turn on
verbose IndexWriter infoStream and post the output?

Mike McCandless

http://blog.mikemccandless.com

Reply via email to