java-user@lucene.apache.org
[Top] [All Lists]

RE: get the total number of hits of a query

Subject: RE: get the total number of hits of a query
From: "Uwe Schindler"
Date: Tue, 23 Feb 2010 17:28:39 +0100
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@xxxxxxxxxxx


> -----Original Message-----
> From: jm [mailto:jmuguruza@xxxxxxxxx]
> Sent: Tuesday, February 23, 2010 5:23 PM
> To: java-user@xxxxxxxxxxxxxxxxx
> 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@xxxxxxxxxxxxxxxxx
> For additional commands, e-mail: java-user-help@xxxxxxxxxxxxxxxxx



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@xxxxxxxxxxxxxxxxx
For additional commands, e-mail: java-user-help@xxxxxxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>