lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler" <...@thetaphi.de>
Subject RE: get the total number of hits of a query
Date Tue, 23 Feb 2010 16:28:39 GMT
Hi,

TopDocs tp = ms.search(lucquery, Integer.MAX_VALUE);

^^^This will crash and throw OutOfMemoryException

The simpliest way ist:
TopDocs tp = ms.search(lucquery, 1);
And then the total count is in tp.totalHits -- simple. The above query will still count all
hits, but return only 1. Adjust according to your needs (e.g. 10).

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: uwe@thetaphi.de


> -----Original Message-----
> From: jm [mailto:jmuguruza@gmail.com]
> Sent: Tuesday, February 23, 2010 5:23 PM
> To: java-user@lucene.apache.org
> Subject: get the total number of hits of a query
> 
> Hi,
> 
> I need to find out how many hits a query will get, is this a valid
> way? (Lucene 3.0)
> 
>         Query lucquery = ...;
>         IndexSearcher[] indexes = ...
>         MultiSearcher ms = new MultiSearcher(indexes);
>         TopDocs tp = ms.search(lucquery, Integer.MAX_VALUE);
>         int hits = tp.totalHits;
> 
> Then depending on the number of hits I will run it again to get all
> results or not.
> 
> I have found some posts talking about something similar but I could
> not see a clear answer...
> 
> thanks
> javi
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org



---------------------------------------------------------------------
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