Well, it was protected just because we didn't think apps needed to
call it directly.

You could workaround it ... subclass it and add your own public method
that delegates to .getTermsEnum.  Or access it via reflection.

Alternatively, just call Query.rewrite() and the returned Query will
reflect the terms that the original query had expanded to (though, it
may rewrite to MultiTermQueryWrapperFilter, which won't get you the
terms ...).

But, can you describe more how you plan to create performant filters
from this method?

Mike McCandless

http://blog.mikemccandless.com


On Mon, Sep 30, 2013 at 1:18 PM, Chet Vora <chetv...@gmail.com> wrote:
> Mike
>
> We want to use the lower level Terms API to create some custom high
> performant filters ... is there any reason why the method
> NumericRangeQuery.getTermsEnum() was made protected in the API as opposed to
> public?
>
> CV
>
>
> On Fri, Sep 27, 2013 at 4:15 PM, Michael McCandless
> <luc...@mikemccandless.com> wrote:
>>
>> Normally you'd create a NumericRangeFilter/Query and just use that?
>>
>> Under the hood, Lucene uses that protected API to visit all matching
>> terms...
>>
>> Mike McCandless
>>
>> http://blog.mikemccandless.com
>>
>>
>> On Thu, Sep 26, 2013 at 9:59 AM, Chet Vora <chetv...@gmail.com> wrote:
>> > Hi all
>> >
>> > I was trying to use the above enum to do some range search on dates...
>> > this
>> > enum is returned by NumericRangeQuery.getTermsEnum() but I realized that
>> > this is a protected method of the class and since this is a final class,
>> > I
>> > can't see how I can use it. Maybe I'm missing something ?
>> >
>> > Would appreciate any pointers.
>> >
>> > Thanks
>> >
>> > CV
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to