[ 
https://issues.apache.org/jira/browse/LUCENE-2784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12964829#action_12964829
 ] 

Uwe Schindler commented on LUCENE-2784:
---------------------------------------

I looked into the code of MTQ: The reason why we don't hit the null case here 
is: MTQ itsself gets IR's Terms and checks for null, so later calls here always 
return something. In my opinion this is also not the right thing (I don't know 
for what reason this was added). Maybe we should simply also change 
MTQ.getTermsEnum() to simply take a enum to wrap?

> Change all FilteredTermsEnum impls into TermsEnum decorators
> ------------------------------------------------------------
>
>                 Key: LUCENE-2784
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2784
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Robert Muir
>            Assignee: Uwe Schindler
>             Fix For: 4.0
>
>         Attachments: 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 ctor
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to