lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler" <...@thetaphi.de>
Subject RE: Help needed figuring out reason for maxClauseCount is set to 1024 error
Date Thu, 08 Oct 2009 05:17:31 GMT
I would propose to use NumericRangeQuery and NumericField supplied by Lucene
2.9. This has no such limitations. You can index your dates as numeric value
(e.g. Date.getTime()) and query downto the milliseconds.

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: uwe@thetaphi.de


> -----Original Message-----
> From: Jake Mannix [mailto:jake.mannix@gmail.com]
> Sent: Thursday, October 08, 2009 2:35 AM
> To: java-user@lucene.apache.org
> Subject: Re: Help needed figuring out reason for maxClauseCount is set to
> 1024 error
> 
> On Wed, Oct 7, 2009 at 4:42 PM, mitu2009 <musicfreaque@gmail.com> wrote:
> 
> >
> > Hi,
> >
> > I've two sets of search indexes. TestIndex (used in our test
> environment)
> > and ProdIndex(used in PRODUCTION environment). Lucene search query:
> > +date:[20090410184806 TO 20091007184806] works fine for test index but
> > gives
> > this error message for Prod index.
> >
> 
> Oooh, this date range is going to kill your performance.  You need to use
> less
> precision unless you really *need* accuracy down to the second.
> 
> 
> >
> > "maxClauseCount is set to 1024"
> >
> > If I execute following line just before executing search query, then I
> do
> > not get this error. BooleanQuery.SetMaxClauseCount(Int16.MaxValue);
> > searcher.Search(myQuery, collector);
> >
> > Am I missing something here?Why am not getting this error in test
> index?The
> > schema for two indexes are same.They only differ wrt to number of
> > records/data.PROD index has got higher number of records(around 1300)
> than
> > those in test one (around 950).
> >
> 
> The reason why it is different in PROD is that your production index has
> more than
> a 1024 different values for your date field, while in test, your index is
> small enough
> so that there are less than 1024 values, so when lucene turns the range
> query into
> a BooleanQuery, it blows up in prod, but not in test, due to the number of
> terms
> it must be rewritten into.
> 
> Make sense?
> 
>   -jake


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


Mime
View raw message