[
https://issues.apache.org/jira/browse/LUCENE-5487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13925985#comment-13925985
]
Robert Muir commented on LUCENE-5487:
-------------------------------------
* docs for Weight.scoresDocsOutOfOrder() should refer to bulkScorer() instead
of scorer()
* a TODO should be added for BooleanWeight.scoresDocsOutOfOrder: its "out of
sync" in the sense that it only checks for any required clause, but e.g. if
someone has minNrShouldMatch > 1, it will lie and say its out of order, but
then go and do in-order scoring (but with a slower collector). This is not new
and not caused by your patch... and really it would be ideal if somehow the
logic was in one place rather than duplicated.
* should FakeScorer really not take the real Weight anymore? I don't know how
useful it is, but its wierd that its null, since the Collector actually sees
this thing via setScorer: if its not going to be supported then i think it
should override getWeight to explicitly throw UOE?
* what is the purpose of a LeapFrogBulkScorer? It seems to just use two
in-order scorers, i dont understand its purpose. Is this supposed to be a code
specialization? If so, how much faster is it than just... not doing that and
using an in-order scorer in this case? (it seems maybe the latter way is
actually faster, as you get the correct collector, same issue as BooleanWeight
with minNrShouldMatch as mentioned above)
> Can we separate "top scorer" from "sub scorer"?
> -----------------------------------------------
>
> Key: LUCENE-5487
> URL: https://issues.apache.org/jira/browse/LUCENE-5487
> Project: Lucene - Core
> Issue Type: Improvement
> Components: core/search
> Reporter: Michael McCandless
> Assignee: Michael McCandless
> Fix For: 4.8, 5.0
>
> Attachments: LUCENE-5487.patch, LUCENE-5487.patch, LUCENE-5487.patch
>
>
> This is just an exploratory patch ... still many nocommits, but I
> think it may be promising.
> I find the two booleans we pass to Weight.scorer confusing, because
> they really only apply to whoever will call score(Collector) (just
> IndexSearcher and BooleanScorer).
> The params are pointless for the vast majority of scorers, because
> very, very few query scorers really need to change how top-scoring is
> done, and those scorers can *only* score top-level (throw throw UOE
> from nextDoc/advance). It seems like these two types of scorers
> should be separately typed.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]