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
--
View this message in context: http://www.nabble.com/Newbie-Question%3A-Query-Creation-Best-Approach-tp20195065p20195065.html
Sent from the Lucene - Java Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]