[ 
https://issues.apache.org/jira/browse/LUCENE-847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steven Parkes updated LUCENE-847:
---------------------------------

    Attachment: LUCENE-847.txt

Here's a first cut at a factored merge policy.

It's not polished. Sparsely commented and there are probably a few changes that 
should be backed out.

It factors a merge policy interface out of IndexWriter and creates an 
implementation of the existing merge policy.

Actually, it's a tweak on the existing merge policy. Currently the merge policy 
is implemented in ways that assume certain things about the existing list of 
segments. The factored version doesn't make these assumptions. It simplifies 
the interface but I'm not yet sure if there are bad side effects. Among other 
things I want to run performance tests.

There is part of a pass at a concurrent version of the current merge policy. 
It's not complete. I've been pushing it to see if I understand the issues 
around concurrent merges. Interesting topics are 1) how to control the merges 
2) how/when to cascade merges if they are happening in a parallel and 3) how to 
handle synchronization of IndexWriter#segmentInfos. That last one in particular 
is a bit touchy.

I did a quick implementation of KS's fib merge policy but it's incomplete in 
that IndexWriter won't merge non-contiguous segment lists, but I think I can 
fix that fairly easily with no major side effects. The factored merge policy 
makes this plug in pretty clean ...

> Factor merge policy out of IndexWriter
> --------------------------------------
>
>                 Key: LUCENE-847
>                 URL: https://issues.apache.org/jira/browse/LUCENE-847
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Steven Parkes
>         Assigned To: Steven Parkes
>         Attachments: LUCENE-847.txt
>
>
> If we factor the merge policy out of IndexWriter, we can make it pluggable, 
> making it possible for apps to choose a custom merge policy and for easier 
> experimenting with merge policy variants.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to