[
https://issues.apache.org/jira/browse/SOLR-8621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15135830#comment-15135830
]
Shai Erera commented on SOLR-8621:
----------------------------------
[~cpoerschke] I reviewed the latest patch and here's my take on
{{SimpleMergePolicyFactory}}: at first, I thought about this approach too, but
eventually preferred the explicit {{TieredMPFactory}}. It has few advantages
IMO:
* It's simple. Requires less typing by the user, and having a SimpleMPF for
which you declare a 'class' feels like a level of indirection. It's as if
SimpleMPF itself has no use.
* WrapperMPF is also a code-only class, but users don't specify it explicitly
in config.xml. Users would specify a SortingMPF or UpgradeIndexMPF.
* The 'class' element of WrapperMPF is a Factory class, not an MP class. Unlike
the one we'll have on SimpleMPF.
If we'll have both SimpleMPF and TieredMPF, it feels like duplicated efforts.
Perhaps we should start simple (i.e. keep SimpleMPF abstract and only expose
the concrete factories) and if demand arises, we can make it a concrete class
too? That route is always back-compat, but the other one may not be.
So Simple/Wrapper belong more to the code-design land, while the concrete
factories belong to the user land.
What do you think?
> solrconfig.xml: deprecate/replace <mergePolicy> with <mergePolicyFactory>
> -------------------------------------------------------------------------
>
> Key: SOLR-8621
> URL: https://issues.apache.org/jira/browse/SOLR-8621
> Project: Solr
> Issue Type: Task
> Reporter: Christine Poerschke
> Assignee: Christine Poerschke
>
> *<mergePolicyFactory> end-user benefits:*
> * Lucene's UpgradeIndexMergePolicy can be configured in Solr
> * (with SOLR-5730) Lucene's SortingMergePolicy can be configured in Solr
> * customisability: arbitrary merge policies including wrapping/nested merge
> policies can be created and configured
> *(proposed) roadmap:*
> * solr 5.5 introduces <mergePolicyFactory> support
> * solr 5.5(\?) deprecates (but maintains) <mergePolicy> support
> * solr 6.0(\?) removes <mergePolicy> support
> +work-in-progress git branch:+
> [master-solr-8621|https://github.com/apache/lucene-solr/tree/master-solr-8621]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]