lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Bernard <emman...@hibernate.org>
Subject Re: Improving search performance
Date Fri, 23 May 2008 22:41:36 GMT
Hi
Hibernate Search does not pool the Searcher but pools the underlying  
IndexReader(s). From what i've seen, a Searcher is stateless and all  
the state is kept in the Readers. so this essentially is equivalent to  
reusing the searcher.

Out of curiosity why is a pool of Searcher more efficient?

Emmanuel

On  May 22, 2008, at 13:22, Otis Gospodnetic wrote:

> Some quick feedback.  Those are all very expensive queries  
> (wildcards and ranges).  The first thing I'd do is try without  
> Hibernate Search (to make sure HS is not the bottleneck).  100  
> threads is a lot, I'm guessing you are reusing your searcher, which  
> is good, but you will actually improve performance a bit if you work  
> with a small pool of searchers instead of a single searcher.
>
> Otis
> --
> Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch
>
>
> ----- Original Message ----
>> From: Rakesh Shete <rakesh_shete@hotmail.com>
>> To: java-user-info@lucene.apache.org; java-user@lucene.apache.org
>> Sent: Thursday, May 22, 2008 1:16:13 PM
>> Subject: Improving search performance
>>
>>
>> Hi all,
>>
>> I have index of size 85MB. My query looks as follows:
>>
>> +(t:boss* d:boss* dd:boss* tg:boss*) +st:act +ntid:0 +cid:1 +dr: 
>> [20080410 TO
>> 20081010] +rT:[002 TO 005]
>>
>> All the fields used in the query are stored in the indexes (Indexed  
>> & Stored)
>>
>> The query response time for me is around 30 seconds when running  
>> mutliple
>> simultanoeous threads (~100). The no. of matches is ~30k but I  
>> retrieve only the
>> top 100 results. I am using Hibernate Search which is a wrapper  
>> around Lucene. I
>> retrieve the "id" filed from the index which is also indexex and  
>> stored.
>>
>> What is the approach that I should take for improving the  
>> performance?
>>
>> Will just indexing the values without storing them work (Index &  
>> UnStored)?
>>
>> My machine configuration is:
>> P4 2.66GHz 1.99 GB RAM
>>
>> The code for searching runs in JBoss application server which has a  
>> maximum heap
>> size of 1024MB. When these 100 threads are running in the  
>> application server the
>> CPU utilization is 100% and JBoss consumes all of the heap size.
>>
>> Any pointers on index optimization would be really appreciated.
>>
>> --Regards,
>> Rakesh Shete
>>
>> _________________________________________________________________
>> No Harvard, No Oxford. We are here. Find out !!
>> http://ss1.richmedia.in/recurl.asp?pid=500
>
>
> ---------------------------------------------------------------------
> 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