: I get an OutOfMemoryException after a few iterations of the following loop:
: LOOP:
: ramdir = new RAMDirectory( "path/to/my/directory" );
: searcher = new IndexSearcher( reader );
: searcher.search(new TermQuery( new Term( "field", "keyword")));
: searcher.close();
: ramdir.close();
: END LOOP:
: Note, ramdir and searcher are both instance variables.
But what is "reader" ? .. where is it initialized ?
I'm guessing this isn't hte exact code that gives you an OOM (since there
seems to be some code missing)
if you can post a complete small example program (with main method) that
demonstrates this problem -- or even better a self contained JUNit test --
then people can try to reproduce it.
(if the root of the issue is opening a RAMDirectory based on an
FSDirectory you can create the on disk directory using the system tmpdir
in your JUnit setUp method)
I suspect that somewhere in there you have another line that looks like...
reader = IndexReader.open( ramdir );
...and that may be causing your problem. If you open an IndexReader
explicitly, then IndexSearcher.close() won't close it for you
-Hoss
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]