Hello

Is there a way to stop the search process when a given number of hits is 
reached?

I have a counter feature which displays how many docs match a query. 
This counter is blocked; I mean that if there are more than 500 docs, it will 
just display "more than 500".
I don't care about the exact amount of docs matched by the query, the order of 
the hits or whatever...
What I want is to stop the search process when it reaches at least 500 hits in 
order to improve performance... 
(I want an average search time in about 50 - 100 ms)

I experimented with the following methods :
For the same query:
with search(Query query, Filter filter, Sort sort)  hits=157691 docs in 
searchingTime=2514 ms
with search(Query query, Filter filter, int n) (with n = 50)  TopDocs totalHits 
157691 in searchingTime= 2360 ms
 
For another query:
With search(Query query, Filter filter, Sort sort) hits=1208 docs in 
searchingTime=750 ms
With search(Query query, Filter filter, int n) (with n = 50) TopDocs totalHits 
1208 in searchingTime= 718 ms

For another query:
With search(Query query, Filter filter, Sort sort) hits=16174 cv(s) 
searchingTime=1297 ms
With search(Query query, Filter filter, int n) (with n = 50) TopDocs totalHits 
16174 in searchingTime= 1219 ms

According to this results, replacing the first method by the other has no 
effect on either the search 
time or total number of hits returned

Also the lucene version used now is 1.9.1 (but i work on the evolution to 2.3.2)


Thanks a lot
(Sorry for my bad English ... you will easily guess, I’m French ;)



      
_____________________________________________________________________________ 
Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr

Reply via email to