Lucene rewrites RangeQueries into a BooleanQuery containing a bunch of
OR'd terms.  If you have too many terms (dates in your case), you will
run into a TooManyClauses exception.  I think the default is about
1024; you can set it with BooleanQuery.setMaxClauseCount().

On 5/31/05, Kevin Burton <[EMAIL PROTECTED]> wrote:
> Andrew Boyd wrote:
> 
> >How about using range query?
> >
> >private Term begin, end;
> >
> >begin = new Term("dateField",  
> >DateTools.dateToString(Date.valueOf(<"backInTimeStringDate">)));
> >end = new Term("dateField",  
> >DateTools.dateToString(Date.valueOf(<"farFutureStringDate">)));
> >
> >RangeQuery query = new RangeQuery(begin, end, true);
> >
> >IndexSearcher searcher = new IndexSearcher(directory);
> >
> >Hits hits = searcher.search(query);
> >
> >Document minDoc = hits.doc(0);
> >Document maxDoc = hits.doc(hits.length()-1);
> >
> >String minDateString = minDoc.get("dateField");
> >String maxDateString = maxDoc.get("dateField");
> >
> >
> >
> This certainly is an interesting solution.  How would lucene score this
> result set?  The first and last will depend on the score...
> 
> I  guess I can build up a quick test........
> 
> Kevin
> 
> --
> 
> 
> Use Rojo (RSS/Atom aggregator)! - visit http://rojo.com.
> See irc.freenode.net #rojo if you want to chat.
> 
> Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
> 
>   Kevin A. Burton, Location - San Francisco, CA
>      AIM/YIM - sfburtonator,  Web - http://peerfear.org/
> GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412
> 
> 
> ---------------------------------------------------------------------
> 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