[
https://issues.apache.org/jira/browse/LUCENE-6319?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Elliott Bradshaw updated LUCENE-6319:
-------------------------------------
Issue Type: Improvement (was: Wish)
> Delegating OneMerge
> -------------------
>
> Key: LUCENE-6319
> URL: https://issues.apache.org/jira/browse/LUCENE-6319
> Project: Lucene - Core
> Issue Type: Improvement
> Components: core/index
> Reporter: Elliott Bradshaw
>
> In trying to integrate SortingMergePolicy into ElasticSearch, I ran into an
> issue where the custom merge logic was being stripped out by
> IndexUpgraderMergeSpecification. Related issue here:
> https://github.com/elasticsearch/elasticsearch/issues/9731
> In an endeavor to fix this, I attempted to create a DelegatingOneMerge that
> could be used to chain the different MergePolicies together. I quickly
> discovered this to be impossible, due to the direct member variable access of
> OneMerge by IndexWriter and other classes. It would be great if this
> variable access could be privatized and the consuming classes modified to use
> the appropriate getters and setters. Here's an example DelegatingOneMerge
> and modified OneMerge.
> https://gist.github.com/ebradshaw/e0b74e9e8d4976ab9e0a
> https://gist.github.com/ebradshaw/d72116a014f226076303
> The downside here is that this would require an API change, as there are
> three public variables in OneMerge: estimatedMergeBytes, segments and
> totalDocCount. These would have to be moved behind public getters.
> Without this change, I'm not sure how we could get the SortingMergePolicy
> working in ES, but if anyone has any other suggestions I'm all ears! Thanks!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]