Hi,

      Im using Solr 3.6 on Tomcat 6, Xmx is set to 4096m.

    I have indexed about 61075834 documents using shingle filter  with max
shingle size 3. Basically i have a lot of terms. Whenever i request 3-4
queries at a time to to get the termvector component, I get the following
exception.

SEVERE: java.lang.OutOfMemoryError: Java heap space
        at
org.apache.lucene.search.HitQueue.getSentinelObject(HitQueue.java:76)
        at
org.apache.lucene.search.HitQueue.getSentinelObject(HitQueue.java:22)
        at
org.apache.lucene.util.PriorityQueue.initialize(PriorityQueue.java:116)
        at org.apache.lucene.search.HitQueue.<init>(HitQueue.java:67)
        at
org.apache.lucene.search.TopScoreDocCollector.<init>(TopScoreDocCollector.java:275)
        at
org.apache.lucene.search.TopScoreDocCollector.<init>(TopScoreDocCollector.java:37)
        at
org.apache.lucene.search.TopScoreDocCollector$InOrderTopScoreDocCollector.<init>(TopScoreDocCollector.java:42)
        at
org.apache.lucene.search.TopScoreDocCollector$InOrderTopScoreDocCollector.<init>(TopScoreDocCollector.java:40)
        at
org.apache.lucene.search.TopScoreDocCollector.create(TopScoreDocCollector.java:258)
        at
org.apache.lucene.search.TopScoreDocCollector.create(TopScoreDocCollector.java:238)
        at
org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1285)
        at
org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1178)
        at
org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:377)
        at
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:394)
        at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:186)
        at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
        at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365)
        at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)


           Even if the query returns data it takes a lot of time around 230
sec (Qtime= 230000). Is there any way to optimize my index.




-- 
*With Thanks,*
*Manivannan *

Reply via email to