On Wed, Mar 2, 2011 at 1:58 PM, Ofer Fort <o...@tra.cx> wrote: > Thanks, > But each query tries to see if there is something new since the last result > that was found, so rounding things will return the same documents over and > over again, till we reach to the next rounded point. > > Could i use the document id somehow? or something else that's bigger than > my last search? > > And even it was a simple term query, on the lucene side of things, why would > it try to fetch ALL the terms if one of the required ones resulted in an > empty set?
In general, all items are fetched for a big multi-term query because it's very difficult to answer the question "what's the first document after x that matches any of the terms" without doing so. More specifically, Lucene does do some short-circuiting for non-matches (at least in trunk... not sure about other versions). If you reorder your query to oferiko AND timestamp:[2011-02-01T00:00:00Z TO NOW] Then when there is no match on oferiko, BooleanScorer will not ask for the scorer for the second clause. -Yonik http://lucidimagination.com