Improve Norms merging APIs
--------------------------

                 Key: LUCENE-3787
                 URL: https://issues.apache.org/jira/browse/LUCENE-3787
             Project: Lucene - Java
          Issue Type: Bug
    Affects Versions: 4.0
            Reporter: Robert Muir


Spinoff from LUCENE-2632, since it took us a fair amount of time to track down,
I think its worth trying to improve the API.

The DocValuesConsumer api's default merge implementation calls 
canMerge/getDocValuesForMerge/getDocValuesType (protected methods).

but its a little strange how this works:
* all norms implementations must override the default DV implementation, or 
they might accidentally merge docvalues into their norms!
* preflex-RW only overrides 2 of these... how is its norms merging working... 
is it?
* its tricky obviously for issues like LUCENE-2632: as delegating merge() is 
not very obvious either.

So I think we should look at this, instead of having all NormsWriters override 
DocValues, redefining these methods in a way thats 
not a "is-a" relationship, we could do something else like have split 
NormsConsumer/DVConsumer apis that share a package-private base class.

This way a norms impl just extends NormsConsumer and there are no traps. 

--
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to