lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <>
Subject [jira] Commented: (LUCENE-2784) Change all FilteredTermsEnum impls into TermsEnum decorators
Date Mon, 29 Nov 2010 18:27:11 GMT


Uwe Schindler commented on LUCENE-2784:

bq. I also removed multifields usage in these multitermqueries (maybe missed a few, will look
more), because all rewrite methods are per-segment.

MultiTermQueryWrapperFilter still has it :-) And TermCollectingRewrite does not have it. But
I think we should remove that in a separate issue.

> Change all FilteredTermsEnum impls into TermsEnum decorators
> ------------------------------------------------------------
>                 Key: LUCENE-2784
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Robert Muir
>            Assignee: Uwe Schindler
>             Fix For: 4.0
>         Attachments: LUCENE-2784.patch, LUCENE-2784.patch
> Currently, FilteredTermsEnum has two ctors:
> * FilteredTermsEnum(IndexReader reader, String field)
> * FilteredTermsEnum(TermsEnum tenum)
> But most of our concrete implementations (e.g. TermsRangeEnum) use the IndexReader+field
> In my opinion we should remove this ctor, and switch over all FilteredTermsEnum implementations
to just take a TermsEnum.
> Advantages:
> * This simplifies FilteredTermsEnum and its subclasses, where they are more decorator-like
(perhaps in the future we could compose them)
> * Removes silly checks such as if (tenum == null) in every next()
> * Allows for consumers to pass in enumerators however they want: e.g. its their responsibility
if they want to use MultiFields or not, it shouldnt be buried in FilteredTermsEnum.
> I created a quick patch (all core+contrib+solr tests pass), but i think this opens up
more possibilities for refactoring improvements that haven't yet been done in the patch: we
should explore these too.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

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

View raw message