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