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

Simon Willnauer commented on LUCENE-2694:
-----------------------------------------

{quote}
I think instead of ReaderView we could change Weight.scorer API so that instead 
of receiving IndexReader reader, it receives a struct that has parent reader, 
sub reader, ord of that sub?
It's easy to be back compat because we could just forward to prior scorer 
method with only the sub?
{quote}
Mike I am not sure if that helps us here. If you use this method you can not 
disambiguate between the set of readers that where used to create the 
PerReaderTermState and the once that have a certain ord assigned to it. 
Disambiguation would be more difficult if we do that. IMO sharing a ReaderView 
seems to be the best solution so far. I don't think we should bind it to an IR 
directly since users can easily build a ReaderView from a Composite Reader. 
Yet, for searching it would be nice to have a ReaderView on Seacher / 
IndexSearcher which can be triggered upon weight creation.
That way we can also disambiguate between PerReaderTermState given to the 
TermQuery ctor when we create the weight so that if the view doesn' t match we 
either create a new PerReaderTermState or just don't use it for this weight.

I thought about TermsEnum#ord() again. I don' t think we should really add it 
back though. Its really an implementation detail and folks that wanna use it 
should be aware of that and cast correctly. On the other hand I don't like to 
have the seek(ord) in TermsEnum either if we remove #ord(). I think we should 
remove it from the interface entirely though.

simon

> MTQ rewrite + weight/scorer init should be single pass
> ------------------------------------------------------
>
>                 Key: LUCENE-2694
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2694
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Search
>            Reporter: Michael McCandless
>            Assignee: Simon Willnauer
>             Fix For: 4.0
>
>         Attachments: LUCENE-2694-FTE.patch, LUCENE-2694.patch, 
> LUCENE-2694.patch, LUCENE-2694.patch, LUCENE-2694.patch, LUCENE-2694.patch, 
> LUCENE-2694.patch
>
>
> Spinoff of LUCENE-2690 (see the hacked patch on that issue)...
> Once we fix MTQ rewrite to be per-segment, we should take it further and make 
> weight/scorer init also run in the same single pass as rewrite.

-- 
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