[ 
https://issues.apache.org/jira/browse/LUCENE-7880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16053017#comment-16053017
 ] 

Erick Erickson commented on LUCENE-7880:
----------------------------------------

bq: This is not the only arbitrary limit we have

This is not a justification to impose limits where there's no technical reason 
to. And imposing a limit on maxbooleanclauses that cannot be changed would take 
away capabilities that at least some users currently rely on.

bq: In some of the cases you mentioned, it seems to me that users should be 
using TermInSetQuery instead

Sure. I never claimed that there weren't ways around some/all of the individual 
cases. My point is there's case N+1 that we _haven't_ thought of and arbitrary, 
unnecessary limits do not serve the end users well. And taking away current 
capabilities requires a very good technical reason in my view.

Oh, and I didn't even mention that the queries can be distributed across N 
fields by edismax.

Yes, yes, yes. That reflects sub-optimal design. User's don't care. Once the 
performance/functionality is "good enough" in their eyes, whether it could be 
made better is mostly irrelevant. And forcing them deep into the code in order 
to do what they're doing now when there's no technical reason to simply creates 
another barrier they have to overcome. Premature optimization and all that.

> Make boolean query clause limit configurable per-query
> ------------------------------------------------------
>
>                 Key: LUCENE-7880
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7880
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Yonik Seeley
>
> As we know, the magic BooleanQuery.maxClauseCount has bitten many people over 
> time.
> It's also a static, which really hurts multi-tenancy (i.e. we can't have 
> different settings for different users, clients, or use-cases).
> If we want to keep this static as a default, then at least we should allow it 
> to be overridden on a per-query basis when we know it is the desired behavior 
> and not a bug.
> Perhaps the simplest way to achieve this would be a setter on 
> BooleanQuery.Builder that configures the limit for that instance only?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to