[ 
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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to