HitCollector is the wrong tool to use because you're clearly not interested in 
collecting hits. Try the Scorer class.  For example

Lucene.Net.Search.Weight weight = query.Weight(searcher);
Lucene.Net.Search.Scorer scorer = weight.Scorer(searcher.GetIndexReader());
bool hasHits = scorer.Next();




-----Original Message-----
From: Artem Chereisky [mailto:[email protected]] 
Sent: Wednesday, January 13, 2010 6:16 PM
To: [email protected]; [email protected]
Subject: at least one doc

Hi,

Given a boolean query and/or a filter, what is the best way to see if there
is at least one matching document?

I tried a simple hit collector which sets a flag on the first Collect
method. Ideally I would want to stop collecting at that point but I couldn't
find a way of doing that.
I also tried: TopDocs docs = _searcher.Search(query, filter, 1), but it
seems to iterate through all matches as docs.totalHits is set the the actual
number of matches.

So, is there a better way

Regards,
Art

Reply via email to