What is the point of having empty indexes? I don't know for sure without trying it myself, but perhaps you need to write at least one document to the index for it to be a valid index? Don't continue until Luke is happy with your index.

    Erik


On Jul 25, 2005, at 7:39 AM, Daniel Cortes wrote:

I have a problem searching in 6 index lucene at same time, i founded the class MultiSearcher but I think I don't use corretly because it show me this error:

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.readBytes (InputStream.java:61) 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.SegmentReader.docFreq (SegmentReader.java:253) at org.apache.lucene.search.IndexSearcher.docFreq (IndexSearcher.java:69)
      at org.apache.lucene.search.Similarity.idf(Similarity.java:255)
at org.apache.lucene.search.TermQuery $TermWeight.sumOfSquaredWeights(TermQuery.java:47) at org.apache.lucene.search.BooleanQuery $BooleanWeight.sumOfSquaredWeights(BooleanQuery.java:110)
      at org.apache.lucene.search.Query.weight(Query.java:86)
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)


I have 6 index created by IndexWriter (1 index has something indexed, but the others are empty (only the segment file)). If I try to open my indexs with LUKE the index that has something, don't give me problems and I can see their fields, but the other empties indexsever reply my: Invalid path, or not a Lucene index.

My code to use the search is this:

private String[] fields= new String[] {"TITLE","CONTENTS","DESCRIPTION"}; //This line I don't know what it do, but I don't think that is the problem private int[] required= {MultiFieldQueryParser.NORMAL_FIELD,MultiFieldQueryParser.NORMAL_FIELD ,MultiFieldQueryParser.NORMAL_FIELD};
IndexSearcher[] searchers;

//I  initialize  searchers and do this;
          MultiSearcher searcher = new MultiSearcher(searchers);
Query searcht = MultiFieldQueryParser.parse ("something",fields,required,getTheInstanceOfMyAnalizer());
          Hits resul=searcher.search(searcht);

Perhaps don't  I create well the indexs?

I do this for every File indexDir
          IndexWriter writer;
          File dir = new File();
           if (dir.isDirectory()) {
              writer = new IndexWriter(dir, myAnalyzer, false);
              writer.setUseCompoundFile(true);
           } else {
              dir.mkdirs();
               writer = new IndexWriter(dir, myAnalyzer, true);
              writer.setUseCompoundFile(true);
           }
              writer.optimize();
              writer.close();

Is it correct,true?

I'm sure that my problem is in MultiSearcher caller, but I can't see where's my mistake (and not in my english :D) thks in advance.

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



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

Reply via email to