lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Morus Walter <morus.wal...@tanto.de>
Subject Re: BooleanQuery - Too Many Clases on date range.
Date Mon, 04 Oct 2004 07:01:50 GMT
Chris Fraschetti writes:
> So i decicded to move my epoch date to the  20040608 date which fixed
> my boolean query problem in regards to my current data size (approx
> 600,000) ....
> 
> but now as soon as I do a query like ...      a*
> I get the boolean error again. Google obviously can handle this query,
> and I'm pretty sure jguru.com can handle it too.. any ideas? With out
> without a date dange specified i still get teh  TooManyClauses error. 
> I tired cranking the maxclauses up to Integer.MaxInt, but java gave me
> a out of memory error. Is this b/c the boolean search tried to
> allocate that many clauses by default or because my query actually
> needed that many clauses?  

boolean search allocates clauses for all tokens having the prefix or
matching the wildcard expression.

> Why does it work on small indexes but not
> large? 
Because there are fewer tokens starting with a.

> Is there any way to have the parser create as many clauses as
> it can and then search with what it has? w/o recompiling the source?
> 
You need to create your own version of Wildcard- and Prefix-Query
that takes a maximum term number and ignores further clauses.
And you need a variant of the query parser that uses these queries.

This can be done, even without recompiling lucene, but you will have to
do some programming at the level of lucene queries.
Shouldn't be hard, since you can use the sources as a starting point.

I guess this does not exist because the lucene developer decided to prefer
a query error rather than uncomplete results.

Morus


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


Mime
View raw message