lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Willnauer (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-2694) MTQ rewrite + weight/scorer init should be single pass
Date Wed, 22 Dec 2010 09:30:05 GMT

    [ 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message