you can advance the scorer to NO_MORE_DOCS if you have collected enough documents this will stop the loop.
scorer.advance(Scorer.NO_MORE_DOCS); simon On Wed, Jul 20, 2011 at 6:53 PM, Devon H. O'Dell <devon.od...@gmail.com> wrote: > 2011/7/20 Chris Bamford <chris.bamf...@talktalk.net>: >> Hi there, >> >> I have my own Collector implementation which I use for searching, something >> like this skeleton: > > [snip] > >> Question: is there a way to prevent collect() being called after it has >> collected its quota (i.e. when collecting becomes false)? On large >> datasets this would save a lot of time. >> In this scenario I have no need for sort / ordering etc. > > I'd be interested in knowing this as well. My application has the > ability to limit the number of results returned, and I've "solved" > this problem by simply checking whether the number of collected > results exceeds this threshold and simply returning if it has. This > seems fast enough, but it would be nice to be able to notify the > caller that I don't want any more documents somehow. > > I was personally unable to find any other workaround for this, and > perhaps my hackish solution will work for you (if you're not already > doing this). But indeed on searches returning several million records, > it's kind of silly to keep spinning. > > Kind regards, > > Devon H. O'Dell > >> Thanks. >> >> - Chris >> > > --------------------------------------------------------------------- > 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