Hi Emmanuel,

Because there are some synchronized methods, like the one that checks whether a 
doc is deleted, that get called during search.  If you have a pile of threads 
(op. p. mentioned 100 threads) there could be contention around those methods.

Otis
--
Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch


----- Original Message ----
> From: Emmanuel Bernard <[EMAIL PROTECTED]>
> To: java-user@lucene.apache.org
> Sent: Friday, May 23, 2008 6:41:36 PM
> Subject: Re: Improving search performance
> 
> 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 
> >> To: [EMAIL PROTECTED]; 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: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to