lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven Parkes (JIRA)" <>
Subject [jira] Updated: (LUCENE-847) Factor merge policy out of IndexWriter
Date Fri, 23 Mar 2007 19:25:32 GMT


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:
>             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:
For additional commands, e-mail:

View raw message