[ https://issues.apache.org/jira/browse/LUCENE-3622?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Muir updated LUCENE-3622: -------------------------------- Attachment: LUCENE-3622.patch There is more to be done here, but I'd like to merge the work so far to trunk to make maintenance easier. the following classes are renamed: * IndexDocValues -> DocValues * ValueType -> DocValues.Type * PerDocFieldValues -> DocValue * function's DocValues -> FunctionValues DocValues classes are no longer in o.a.l.index.values, instead the 'general' classes (only 4 or so) are in o.a.l.index. The lucene40-implementation dependent classes are now underneath lucene40 codec. PerDocValues is only held by the core and not exposed to IndexReader. Its renamed to PerDocProducer (consistent with PerDocConsumer). IndexReader only has DocValues docValues(String field) as its api. MultiPerDocValues is removed as its not exposed and there is only MultiDocValues. SortedSource doesn't require that you exposed a packed-ints reader, you might not implement things that way. Instead it has a hasPacked* method so that sorting can optimize in case you do have it. FieldInfo no longer has a transactional API for setting term vectors or docvalues information: the problem was that we could end out with extra files if there was an exception and only that document needed them. Instead of a commit/revert thing it just sets them after it successfully indexes. Type promotion is moved from the codec implementation to SegmentMerger. Because of this, SegmentMerger no longer lies to other codec components about the fieldinfos, with DocValues changing them behind the scenes, instead it computes fieldinfos up front, writes them to disk, and codecs see "the real fieldinfos". This also means like merging of other lucene type information, our 'type promotion' across incompatible docvalues types is well-defined instead of being implementation-dependent. Some unused/unnecessary/dead methods/code in the abstract apis are removed. CheckIndex has lots more checking for docvalues (and norms too). > separate IndexDocValues interface from implementation > ----------------------------------------------------- > > Key: LUCENE-3622 > URL: https://issues.apache.org/jira/browse/LUCENE-3622 > Project: Lucene - Java > Issue Type: Task > Reporter: Robert Muir > Attachments: LUCENE-3622.patch, LUCENE-3622.patch > > > Currently the o.a.l.index.values contains both the abstract apis and > Lucene40's current implementation. > I think we should move the implementation underneath Lucene40Codec, leaving > only the abstract apis. > For example, simpletext might have a different implementation, and we might > make a int8 implementation > underneath preflexcodec to support norms. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org