It's very strange because the first search works good , but next search not works and give me the error message

java.io.IOException: Bad file descriptor
       at java.io.RandomAccessFile.seek(Native Method)
at org.apache.lucene.store.FSInputStream.readInternal(FSDirectory.java:415)
       at org.apache.lucene.store.InputStream.refill(InputStream.java:158)
       at org.apache.lucene.store.InputStream.readByte(InputStream.java:43)
at org.apache.lucene.store.InputStream.readBytes(InputStream.java:57) at org.apache.lucene.index.CompoundFileReader$CSInputStream.readInternal(CompoundFileReader.java:220)
       at org.apache.lucene.store.InputStream.refill(InputStream.java:158)
       at org.apache.lucene.store.InputStream.readByte(InputStream.java:43)
       at org.apache.lucene.store.InputStream.readVInt(InputStream.java:83)
at org.apache.lucene.index.SegmentTermEnum.readTerm(SegmentTermEnum.java:142) at org.apache.lucene.index.SegmentTermEnum.next(SegmentTermEnum.java:115) at org.apache.lucene.index.TermInfosReader.scanEnum(TermInfosReader.java:143) at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:137) at org.apache.lucene.index.TermInfosReader.terms(TermInfosReader.java:196) at org.apache.lucene.index.SegmentReader.terms(SegmentReader.java:230)
       at org.apache.lucene.search.PrefixQuery.rewrite(PrefixQuery.java:39)
at org.apache.lucene.search.BooleanQuery.rewrite(BooleanQuery.java:243) at org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:166)
       at org.apache.lucene.search.Query.weight(Query.java:84)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:85) at org.apache.lucene.search.MultiSearcher.search(MultiSearcher.java:116)
       at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:64)
       at org.apache.lucene.search.Hits.<init>(Hits.java:43)
       at org.apache.lucene.search.Searcher.search(Searcher.java:33)
       at org.apache.lucene.search.Searcher.search(Searcher.java:27)

I've opened the index with Luke and the index are good.

My code that use Multisearcher:

this line I don't know what it do, but i think that is not the problem
private int[] required= {MultiFieldQueryParser.NORMAL_FIELD,MultiFieldQueryParser.NORMAL_FIELD,MultiFieldQueryParser.NORMAL_FIELD};
private IndexSearcher[] searchers;
//indexs have the path of my indexs Lucene

      for (int i = 0; i < indexs.length; i++) {
           searchers[i] = new IndexSearcher(getPath(indexs[i]));
      }
       searcher = new MultiSearcher(searchers);
       MultiSearcher searcher=iService.openMultiSearcher();
       SearchResults sr=null;
Query buscar = MultiFieldQueryParser.parse(search_text,fields,required,analyzer);
           Hits encontrados=searcher.search(buscar);
           sr = new SearchResults(encontrados,userviewer,idPortal);
       searcher.close();



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to