Hej hej,

i have a question regarding lucenes memory usage
when launching a query. When i execute my query
lucene eats up over 1gig of heap-memory even 
when my result-set is only a single hit. I
found out that this is due to the "ensureIndexIsRead()" 
method-call in the "TermInfosReader" class, which
iterates over all Terms found in the index and saves
them (including all value-strings) in a Term-Array. 
Is it possible to not read all that stuff 
into memory at all?

Im doing the query like in the following pseudo-code:
------------------------------------------------------------------------

TopScoreDocCollector collector = new TopScoreDocCollector(100000);

QueryParser   parser= new QueryParser(field, new WhitespaceAnalyzer() );
Directory     fsDir = new FSDirectory(indexDir, null);
IndexSearcher is    = new IndexSearcher(fsdir);

Query         query = parser.parse(q);

is.search(query, collector);
ScoreDoc[] hits = collector.topDocs();

....... < iterate over hits and print results >


Thanks in advance
Benedikt

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to