lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler" <>
Subject RE: Move TrieRange to Core/Module and integration issues
Date Mon, 13 Apr 2009 16:05:47 GMT
> > 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.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message