[ 
https://issues.apache.org/jira/browse/LUCENE-4258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13856791#comment-13856791
 ] 

Ravikumar commented on LUCENE-4258:
-----------------------------------

I have integrated this awesome patch and seems to work nicely till now. There 
is one suggestion I would like to get an opinion on...

There must be many users pursuing an update-codec external to lucene. One such 
PoC is described at 
http://www.flax.co.uk/blog/2012/06/22/updating-individual-fields-in-lucene-with-a-redis-backed-codec/

Since all the hard-work of buffering updates to del-queue etc... is already 
done in this patch, how about exposing the actual write something on the lines 
of Codec, like an UpdateCodec?. This will free impls from worrying about 
segment-merges, NRTs etc... 

Ex: 
interface UpdateCodec { //May be exposed via IWConfig??}
      UpdatedSegment writeUpdatedSegment(SegmentReader reader, 
UpdatedSegmentData data, SegmentInfoPerCommit sipc)
}

public final class UpdatedSegment {
public UpdatedSegment(SegmentInfo updtInfo, Set<String> genReplaceFiles)
}

Implementations not wishing to take a generational-approach [knowing fully the 
risks] will probably return "new UpdatedSegments(null, null)" and DocWriter 
will handle accordingly.

The StackedReaders should also handle a non-generational update regime. Ex: 
Instead of a StackedTermsEnum, it should actually get the TermsEnum from 
UpdateCodec etc...

What do you think?

--
Ravi



> Incremental Field Updates through Stacked Segments
> --------------------------------------------------
>
>                 Key: LUCENE-4258
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4258
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/index
>            Reporter: Sivan Yogev
>             Fix For: 4.7
>
>         Attachments: IncrementalFieldUpdates.odp, 
> LUCENE-4258-API-changes.patch, LUCENE-4258.branch.1.patch, 
> LUCENE-4258.branch.2.patch, LUCENE-4258.branch.4.patch, 
> LUCENE-4258.branch.5.patch, LUCENE-4258.branch.6.patch, 
> LUCENE-4258.branch.6.patch, LUCENE-4258.branch3.patch, 
> LUCENE-4258.r1410593.patch, LUCENE-4258.r1412262.patch, 
> LUCENE-4258.r1416438.patch, LUCENE-4258.r1416617.patch, 
> LUCENE-4258.r1422495.patch, LUCENE-4258.r1423010.patch
>
>   Original Estimate: 2,520h
>  Remaining Estimate: 2,520h
>
> Shai and I would like to start working on the proposal to Incremental Field 
> Updates outlined here (http://markmail.org/message/zhrdxxpfk6qvdaex).



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to