lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless" <luc...@mikemccandless.com>
Subject Re: How to avoid score calculation completely?
Date Thu, 24 May 2007 15:38:17 GMT

"Yonik Seeley" <yonik@apache.org> wrote:
> On 5/24/07, Ramana Jelda <ramana.jelda@ciao-group.com> wrote:
> > But I also see importance of ignoring score calculation.
> >
> > If you put it aside performance gain, is there any possibility to completely
> > ignore scoring calculation?
> 
> Yes, for unsorted results use a hit collector and no sorting will be
> done by score (or anything else).
> 
> You can also ignore the score by simply sorting on other fields.

I *think* something close to this would allow you to count the number
of docs matching a query without scoring:

  Scorer s = query.weight(searcher).scorer(reader);
  int count = 0;
  while(s.next()) {
    count++;
  }

I'm not certain that avoids all scoring work but at least for some of
the scorers it should save some CPU time; I'm not sure how much.  Also
note that the TopDocCollector (used by default if you don't provide
your own collector) does not count docs that have score <= 0.0, so the
above code fragment would overcount in such cases.

Mike

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


Mime
View raw message