OutOfMemoryError on search in large, simple index -------------------------------------------------
Key: LUCENE-1053 URL: https://issues.apache.org/jira/browse/LUCENE-1053 Project: Lucene - Java Issue Type: Bug Components: Search Affects Versions: 2.0.0 Environment: Red Hat Enterprise Linux ES release 3 (Taroon Update 9) Linux sb-test-acs-001 2.4.21-47.0.1.ELsmp #1 SMP Fri Oct 13 17:56:20 EDT 2006 i686 i686 i386 GNU/Linux 2 GB RAM Java version 1.5.0_13 Reporter: Lars Clausen We get OutOfMemoryError when performing a one-term search in our index. The search, if completed, should give only a few thousand hits, but from inspecting a heap dump it appears that many more documents in the index get stored in Lucene during the search. Our index consists of eight fields per document, fairly regularly sized, the total index size is 170GB, spread over about 400 million documents (425 bytes per document). The search is a simple TermQuery, the search term a trivial string, the code in question looks like this (cut together for conciseness): public static final String FIELD_URL = "url"; ... luceneSearcher = new IndexSearcher(indexDir.getAbsolutePath()); Query query = new TermQuery(new Term(DigestIndexer.FIELD_URL, uri)); try { Hits hits = luceneSearcher.search(query); Stack trace: Oct 11, 2007 4:02:19 PM org.slf4j.impl.JCLLoggerAdapter error SEVERE: EXCEPTION java.lang.OutOfMemoryError: Java heap space at org.apache.lucene.index.SegmentReader.getNorms(SegmentReader.java:384) at org.apache.lucene.index.SegmentReader.norms(SegmentReader.java:393) at org.apache.lucene.search.TermQuery$TermWeight.scorer(TermQuery.java:68) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:129) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:99) at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:65) at org.apache.lucene.search.Hits.(Hits.java:44) at org.apache.lucene.search.Searcher.search(Searcher.java:44) at org.apache.lucene.search.Searcher.search(Searcher.java:36) at dk.netarkivet.common.distribute.arcrepository.ARCLookup.luceneLookup(ARCLookup.java:166) at dk.netarkivet.common.distribute.arcrepository.ARCLookup.lookup(ARCLookup.java:130) at dk.netarkivet.viewerproxy.ARCArchiveAccess.lookup(ARCArchiveAccess.java:126) at dk.netarkivet.viewerproxy.NotifyingURIResolver.lookup(NotifyingURIResolver.java:72) at dk.netarkivet.viewerproxy.CommandResolver.lookup(CommandResolver.java:80) at dk.netarkivet.viewerproxy.CommandResolver.lookup(CommandResolver.java:80) at dk.netarkivet.viewerproxy.CommandResolver.lookup(CommandResolver.java:80) at dk.netarkivet.viewerproxy.WebProxy.handle(WebProxy.java:129) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:285) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357) at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:217) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]