You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Andrew Zhang <zh...@gmail.com> on 2008/10/24 01:26:44 UTC

The behavior of BooleanQuery#setMaxClauseCount

Hi,
As we know, wildcard query may take a lot of time, especially when there're
lots of term matches. It seems there's no way to find a way to configure max
count of matched terms. BooleanQuery#setMaxClauseCount API is close to the
goal, but it throws TooManyClauseException when it exceeds the limit. What's
the purpose of this behavior? It fails to construct a query when there're
too many matched query. The only solution is to prompt user to input a more
accurate keyword? Or it's a compromise between performance and correctness.
I think the behavior of this method is more friendly if it ignores the
remaining terms when query clauses are full. Let user take the risk of
correctness if max clause is configured. User can guarantee 100% correctness
by setting it to MAX_VALUE as what setMaxClause does today. Currently, user
has no way to gain performance by setMaxClause.

What's your idea? Thanks a lot!