[
https://issues.apache.org/jira/browse/SOLR-5730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15119206#comment-15119206
]
Christine Poerschke commented on SOLR-5730:
-------------------------------------------
bq. I don't think that we need to change all MPs to MPFs.
We currently have {{mergeFactor}} and {{maxMergeDocs}} elements alongside the
{{mergePolicy}} element. I would see the {{MergePolicyFactory}} route as an
opportunity to deprecate the mergeFactor/maxMergeDocs/mergePolicy elements i.e.
for a transition period users can use the existing/deprecated elements or the
new mergePolicyFactory element but eventually we will remove the deprecated
elements.
*existing/deprecated:*
{code}
<mergeFactor>12</mergeFactor>
<maxMergeDocs>345</maxMergeDocs>
<mergePolicy class="..." />
{code}
*replacement:*
{code}
<mergePolicyFactory class="...Factory">
<int name="mergeFactor">12</int>
<int name="maxMergeDocs">345</int>
</mergePolicyFactory>
{code}
*existing code snippet:*
Note that maxMergeDocs only applies to LogMergePolicy policies.
Note that mergeFactor only applies to LogMergePolicy and TieredMergePolicy
policies.
{code}
maxMergeDocs=solrConfig.getInt(prefix+"/maxMergeDocs",def.maxMergeDocs);
mergeFactor=solrConfig.getInt(prefix+"/mergeFactor",def.mergeFactor);
mergePolicyInfo = getPluginInfo(prefix + "/mergePolicy", solrConfig,
def.mergePolicyInfo);
...
if (policy instanceof LogMergePolicy) {
LogMergePolicy logMergePolicy = (LogMergePolicy) policy;
fixUseCFMergePolicyInitArg(LogMergePolicy.class);
if (maxMergeDocs != -1)
logMergePolicy.setMaxMergeDocs(maxMergeDocs);
if (mergeFactor != -1)
logMergePolicy.setMergeFactor(mergeFactor);
} else if (policy instanceof TieredMergePolicy) {
TieredMergePolicy tieredMergePolicy = (TieredMergePolicy) policy;
fixUseCFMergePolicyInitArg(TieredMergePolicy.class);
if (mergeFactor != -1) {
tieredMergePolicy.setMaxMergeAtOnce(mergeFactor);
tieredMergePolicy.setSegmentsPerTier(mergeFactor);
}
} else if (mergeFactor != -1) {
log.warn("Use of <mergeFactor> cannot be configured if merge policy is not an
instance of LogMergePolicy or TieredMergePolicy. The configured policy's
defaults will be used.");
}
{code}
> make Lucene's SortingMergePolicy and EarlyTerminatingSortingCollector
> configurable in Solr
> ------------------------------------------------------------------------------------------
>
> Key: SOLR-5730
> URL: https://issues.apache.org/jira/browse/SOLR-5730
> Project: Solr
> Issue Type: New Feature
> Reporter: Christine Poerschke
> Assignee: Christine Poerschke
> Priority: Minor
> Attachments: SOLR-5730-part1of2.patch, SOLR-5730-part1of2.patch,
> SOLR-5730-part2of2.patch, SOLR-5730-part2of2.patch
>
>
> *Example configuration (solrconfig.xml):*
> {noformat}
> <sortMerges enable="true">
> <str name="sort">timestamp desc</str>
> </sortMerges>
> {noformat}
> *Example use (EarlyTerminatingSortingCollector):*
> {noformat}
> &sort=timestamp+desc&segmentTerminateEarly=true
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]