If tye 16M means you're only giving the process that much memory, it surprises me that it runs at all. Especially since you're putting it all in a RAMdir.
Or is that 16M referring to something else? Best Erick On Thu, Apr 10, 2008 at 2:42 PM, Leandro <[EMAIL PROTECTED]> wrote: > Hello, > > *Sample code:* > SpellChecker spell; > RAMDirectory dram = new RAMDirectory(); > Dicionario dic = new Dicionario(); //one implementation of > spell.Dictionary > spell= new SpellChecker(dram); > spell.indexDictionary(dic); //indexing... > > *Then I got the:* > machine1: Windows XP SP2, Celerom 2.66GHz e 256MB > word: 60.000 (40~53 caracteres cada) > memory alloc: 16 (MB) > time to index: 55108 (ms) > > So* I tried with 120.000 words* ... when I run the program ... > > *Exception in thread "Thread-1" > org.apache.lucene.index.MergePolicy$MergeExceptio > n: java.lang.OutOfMemoryError: Java heap space > at > org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(Conc > urrentMergeScheduler.java:271) > Caused by: java.lang.OutOfMemoryError: Java heap space > at org.apache.lucene.store.RAMFile.newBuffer(RAMFile.java:88) > at org.apache.lucene.store.RAMFile.addBuffer(RAMFile.java:61) > at > org.apache.lucene.store.RAMOutputStream.switchCurrentBuffer(RAMOutput > Stream.java:128) > at > org.apache.lucene.store.RAMOutputStream.writeByte(RAMOutputStream.jav > a:105) > ... > > *Why this occors?* > * >