This can happen in some cases: for example if you are doing a
disjunction of "foo" and "bar" with coordination factor disabled, and
the segment has no postings for "bar".

In this case the optimum scorer to return is just a termscorer for "foo".

On Thu, Aug 7, 2014 at 12:42 PM, Christian Reuschling
<reuschl...@dfki.uni-kl.de> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello,
>
> I try to get the scorer for a result document, for further computation.
>
> List<AtomicReaderContext> leafContexts = indexReader.leaves();
> int n = ReaderUtil.subIndex(scoreDoc.doc, leafContexts);
> AtomicReaderContext ctx = leafContexts.get(n);
> Scorer scorer = weight.scorer(ctx, ctx.reader().getLiveDocs());
>
> in most cases, the type of the scorer is DisjunctionSumScorer. But for one 
> result document, the
> type of scorer is surprisingly a TermScorer.
>
> the weight object is in any case the same - the only different thing is the 
> scoreDoc.doc doc
> number. It seems that it is the result doc with the smallest doc number, all 
> other result
> documents are from a different subIndex  (n).
>
> For DisjunctionSumScorer, my code works just fine. What is the reason that a 
> BooleanWeight can
> return a TermScorer? And can I force the weight to do not?
>
> best regards
>
> Christian
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.19 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iEYEARECAAYFAlPjrGkACgkQ6EqMXq+WZg/d/ACgilM3iLefG5LQzVXX9bv6xIV7
> 4asAoLWg4yIaaJa/VLoRU7QjS6Vaqnn2
> =I3ZD
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to