> > MultiTermQuery has in its protected getEnum() returning > FilteredTermEnum. > > For TrieRange, the return should be changed to TermEnum, it is not > needed to > > have a FilteredTermEnum (FilteredTermEnum is only an implementation, the > > method should return an abstract TermEnum). If this is fixed, I can > write a > > NumericRangeTermEnum extends TermEnum, that enumerates the terms for all > > sub-ranges (with FilteredTermEnum this is not possible), so it must be a > > "own" extension. FilteredTermEnum could be used if it would be possible > to > > access the inner enum and term members (currently private), but this > would > > be a completely "unclean hack". > Have you considered how to fix this? Fuzzy is what expects the > FilteredTermEnum - it could just be changed to cast though, but we still > have a back compat issue changing that method. I think we'd have to > deprecate and add another call? TrieRange could throw USOE with the old > enum?
Ahhh, I forgot the difference() method. For me it would not be a problem, I would use a FilteredTermEnum and subclass it, but would only implement next() and the other abstract methods would be dummies (including difference() returning 1.0f). Only the enum and the term should have a protected access or a getter in this class. > I think thats worth fixing in either case. I do not know, how to do it correctly. Uwe --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org