[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lucene-user
Subject:    Re: Searching in Multiple Index
From:       Erik Hatcher <erik () ehatchersolutions ! com>
Date:       2005-07-25 13:15:35
Message-ID: C1602113-723A-470E-84CE-C3A3F623A67A () ehatchersolutions ! com
[Download RAW message or body]

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: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>


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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic