lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Willnauer (JIRA)" <>
Subject [jira] Commented: (LUCENE-2831) Revise Weight#scorer & Filter#getDocIdSet API to pass Readers context
Date Wed, 29 Dec 2010 09:11:45 GMT


Simon Willnauer commented on LUCENE-2831:

bq. I'm confused - there'd be no restriction with this approach? Ie it would allow for a sub
that's shared in different top readers.

I think what yonik it saying it that you can not be sure that the topLevelReader is a TopLevelReader
since it could have yet another parent.
This will always be true and essentially only well defined in the context of an IndexSearcher.
IndexSearcher takes an arbitrary IndexReader as a topLevel and this will be the one for this
IS context. The same IR could be a sub-reader in a different context though.

I'm tend to lean towards holding ReaderInfo on IndexSearcher rather than on IndexReader. It
is really an information that 100% depends on a context which is given by IS. IS also defines
the context for Query#weigth / createWeight and Weight ctors and with LUCENE-2837 we can eventually
rely on the given Searcher is an IS. 

bq. Another thing to think about is if this should be unified with the very similar ReaderUtil.Slice
I agree this should be easy to obtain. 

bq. SolrIndexReader could be removed altogether if this is solved correctly - it's only real
purpose was really to solve this context problem.
yeah this makes sense. I didn't look into it too deep during the first patch. 

I think we should give Yoniks full ReaderInfo a go an create it only in IS. This might make
some Solr classes go away too and reduce complexity. I will go ahead and work on a new patch

> Revise Weight#scorer & Filter#getDocIdSet API to pass Readers context
> ---------------------------------------------------------------------
>                 Key: LUCENE-2831
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Search
>    Affects Versions: 4.0
>            Reporter: Simon Willnauer
>            Assignee: Simon Willnauer
>             Fix For: 4.0
>         Attachments: LUCENE-2831.patch
> Spinoff from LUCENE-2694 - instead of passing a reader into Weight#scorer(IR, boolean,
boolean) we should / could revise the API and pass in a struct that has parent reader, sub
reader, ord of that sub. The ord mapping plus the context with its parent would make several
issues way easier. See LUCENE-2694, LUCENE-2348 and LUCENE-2829 to name some.

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