I'm getting this exception, and I can't explain it. It only occurs when calling my method that retrieves the content from my index. I get the same exception in 1.2 as in 1.3-final, been searching the web all over the place but can't find anything else than the same problem described, no solution.
It takes some 50-100 calls to the method until the exception in thrown. Don't I close the IndexReader correct? Is there anything else I need to close? Greatful for any hints. ----> exception snippet java.io.FileNotFoundException: /home/kalle/projects/snigel/egdelon_data/lucene/_2ur.fdx (Too many open files) at java.io.RandomAccessFile.open(Native Method) at java.io.RandomAccessFile.<init>(RandomAccessFile.java:200) at org.apache.lucene.store.FSInputStream$Descriptor.<init>(FSDirectory.java:389) at org.apache.lucene.store.FSInputStream.<init>(FSDirectory.java:418) at org.apache.lucene.store.FSDirectory.openFile(FSDirectory.java:291) at org.apache.lucene.index.FieldsReader.<init>(FieldsReader.java:80) at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:139) at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:120) at org.apache.lucene.index.IndexReader$1.doBody(IndexReader.java:122) at org.apache.lucene.store.Lock$With.run(Lock.java:148) at org.apache.lucene.index.IndexReader.open(IndexReader.java:111) at org.apache.lucene.index.IndexReader.open(IndexReader.java:99) at org.apache.lucene.search.IndexSearcher.<init>(IndexSearcher.java:75) at se.snigel.egdelon.document.indexer.LuceneIndexer.getSegmentContents(LuceneIndexer.java:48) row 48 >> s = new IndexSearcher(Egdelon.getSetting("lucene.path")); ----> full method public String getSegmentContents(Segment segment) throws IOException { File path = new File(Egdelon.getSetting("lucene.path")); if (!IndexReader.indexExists(path)) return null; Searcher s = null; try { Analyzer a = new StandardAnalyzer(); Query q = QueryParser.parse(String.valueOf(segment.getController().getPrimaryKey().getPK()), "segment.pk", a); s = new IndexSearcher(Egdelon.getSetting("lucene.path")); Hits hits = s.search(q); if (hits.length() == 1) return hits.doc(0).getField("contents").stringValue(); s.close(); return null; } catch (ParseException e) { e.printStackTrace(); if (s != null) s.close(); return null; } } -- karl -- kalle -- kalle --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]