[ https://issues.apache.org/jira/browse/LUCENE-2345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12850323#action_12850323 ]
Tim Smith commented on LUCENE-2345: ----------------------------------- found one issue with the plugins patch With NRT indexing, if the SegmentReader is opened with no TermInfosReader (for merging), then the plugins will be initialized with a SegmentReader that has no ability to walk the TermsEnum. I guess SegmentPlugin initialization should wait until after the terms index is loaded or have another method for catching this event to the SegmentPlugin interface > Make it possible to subclass SegmentReader > ------------------------------------------ > > Key: LUCENE-2345 > URL: https://issues.apache.org/jira/browse/LUCENE-2345 > Project: Lucene - Java > Issue Type: Wish > Components: Index > Reporter: Tim Smith > Fix For: 3.1 > > Attachments: LUCENE-2345_3.0.patch, LUCENE-2345_3.0.plugins.patch > > > I would like the ability to subclass SegmentReader for numerous reasons: > * to capture initialization/close events > * attach custom objects to an instance of a segment reader (caches, > statistics, so on and so forth) > * override methods on segment reader as needed > currently this isn't really possible > I propose adding a SegmentReaderFactory that would allow creating custom > subclasses of SegmentReader > default implementation would be something like: > {code} > public class SegmentReaderFactory { > public SegmentReader get(boolean readOnly) { > return readOnly ? new ReadOnlySegmentReader() : new SegmentReader(); > } > public SegmentReader reopen(SegmentReader reader, boolean readOnly) { > return newSegmentReader(readOnly); > } > } > {code} > It would then be made possible to pass a SegmentReaderFactory to IndexWriter > (for pooled readers) as well as to SegmentReader.get() (DirectoryReader.open, > etc) > I could prepare a patch if others think this has merit > Obviously, this API would be "experimental/advanced/will change in future" -- 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: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org