Java Mailing List Archive

http://www.java2.5341.com/

Home » java-user.lucene »

Newbie Question: Query Creation Best Approach

JulieSoko

2008-10-27

Replies: Find Java Web Hosting

Author LoginPost Reply

I am having some strange behavior and want to rule out that the query that I
am constructing is the correct way to deal with this type of query.  This
is what I am working with:

I am creating a query that contains 3 different fields
Field 1: value  - String
Field 2: type   - String
Field 3: time   - Unfortunately Strings

The query will always contain the date range. The query can contain all 3
fields or at least 1 and 3.
i.e
 1 & 2 & 3
 1 & 3


I tried creating a BooleanQuery similiar to
 BooleanQuery bq = new BooleanQuery();
 bq.add(new TermQuery(new Term("value",
"hello")),BooleanClause.Occur.MUST);
 bq.add(new TermQuery(new Term("type","email")),BooleanClause.Occur.MUST);

 parallelSearcher.search(bq, new RangeFilter("time", startTime,
endTime,true,true),col);

TopDoccollector col = new TopDocCollector(1000);
ParallelMultiSearcher parallelSearcher = new
ParallelMultiSearcher(indexes); // 1 to many indexes

//Now I add the date range
parallelSearcher.search(bq, new RangeFilter("time", startTime,
endTime,true,true),col);


The problem is when there are no matches for the boolean part of the
query... I get an input/output error...


java.io.IOException: Input/output error
java.io.RandomAccessFile.readBytes(Native Method)
java.io.RandomAccessFile.read (RandomAccessFile.java:315)
at
org.apache.lucene.store.FSDirecotry$FSIndexInput.readInternal(FSDirectory.java:550)
at
org.apache.lucene.store.BufferedIndexInput.readBytes (BufferedInputInput.java:131)
at
org.apache.lucene.index.CompoundFileReader$CSIndexInput.readInternal(CompoundFileReader.java:240)
at
org.apache.lucene.instoreBufferedIndexInput.refill(BufferedIndexInput.java:
152)
at
org.apache.lucene.instoreBufferedIndexInput.readByte(BufferedIndexInput.java:
152)
at org.lucene.store.IndexInput.readVInt(IndexInput.java:76)
at org.apache.lucene.index.TermBuffer.read (TermBuffer.java:63)
at org.apache.lucene.index.SegmentTermEnum.next (SegmentTermEnum.java:123)
at org.apache.lucene.index.SegmentTermEnum.scanTo (SegmentTermEnum.java:154)
at
org.apache.lucene.index.TermInfosReader.scanEnum (TermInfosReader.java:223)
at org.apache.lucene.index.TermInfosReader.get (TermInfosReader.java:217)
at org.apache.lucene.index.SegmentReader.docFreq (SegmentReader.java:678)
at org.apache.lucene.search.IndexSearcher.docFreq (IndexSearcher.java:87)
at org.apache.lucene.search.Searcher.docFreqs (searcher.java:118)
at
org.apache.lucene.search.MultiSearcher.createWeight (MultiSearcher.java:311)
at org.apache.lucene.search.Searcher.search (Searcher.java:178)






Thanks!
Julie

--
Sent from the Lucene - Java Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@(protected)
For additional commands, e-mail: java-user-help@(protected)

©2008 java2.5341.com - Jax Systems, LLC, U.S.A.