Return-Path: Delivered-To: apmail-lucene-java-user-archive@www.apache.org Received: (qmail 83004 invoked from network); 6 Apr 2007 18:01:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Apr 2007 18:01:32 -0000 Received: (qmail 21537 invoked by uid 500); 6 Apr 2007 18:01:22 -0000 Delivered-To: apmail-lucene-java-user-archive@lucene.apache.org Received: (qmail 21511 invoked by uid 500); 6 Apr 2007 18:01:22 -0000 Mailing-List: contact java-user-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-user@lucene.apache.org Delivered-To: mailing list java-user@lucene.apache.org Received: (qmail 21488 invoked by uid 99); 6 Apr 2007 18:01:22 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Apr 2007 11:01:22 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (herse.apache.org: local policy) Received: from [169.229.70.167] (HELO rescomp.berkeley.edu) (169.229.70.167) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Apr 2007 11:01:13 -0700 Received: by rescomp.berkeley.edu (Postfix, from userid 1007) id 5B2015B763; Fri, 6 Apr 2007 11:00:53 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by rescomp.berkeley.edu (Postfix) with ESMTP id 502037F403 for ; Fri, 6 Apr 2007 11:00:53 -0700 (PDT) Date: Fri, 6 Apr 2007 11:00:53 -0700 (PDT) From: Chris Hostetter To: java-user@lucene.apache.org Subject: Re: Out of memory exception for big indexes In-Reply-To: <20070406171036.2674.qmail@web53511.mail.re2.yahoo.com> Message-ID: References: <20070406171036.2674.qmail@web53511.mail.re2.yahoo.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Checked: Checked by ClamAV on apache.org : Would it be fair to say that you can expect OutOfMemory errors if you : run complex queries? ie sorts, boosts, weights... not intrinsicly ... the amount of memory used has more to do with the size of hte index and the sorting done then it does with teh number of clauses in your query (of course, having more complex clauses - like FunctionQueries that use FieldCaches) can use more memory. : +(pathNodeId_2976569:1^5.0 pathNodeId_2976969:1 pathNodeId_2976255:1 pathNodeId_2976571:1) +(pathClassId:1 pathClassId:346 pathClassId:314) -id:369 ...the big thing that jumps out at me here is that you seem to be using very dynamic field names for storing boolean values ... have your set the OMIT_NORMS option on all of those fields? ... having norms makes your index bigger, and contributes to the memory usage at query time 9and doesn't add any benefit to a query like this ) : java.lang.OutOfMemoryError: Java heap space : Dumping heap to java_pid4512.hprof ... : Heap dump file created [71421503 bytes in 2.640 secs] : Exception in thread "main" java.lang.OutOfMemoryError: Java heap space : at org.apache.lucene.index.MultiReader.norms(MultiReader.java:173) ...that could indicate that norms are your problem, or you could already have norms turned off on all but one field, and it's just the straw that breaks the camels back ... looking at a visualization of your heap is the only thing that's really going to tell you what is taking up all your ram. -Hoss --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org For additional commands, e-mail: java-user-help@lucene.apache.org