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

Alan Woodward commented on LUCENE-7880:
---------------------------------------

bq. we should find a heuristic that can detect when a TermInSetQuery will 
perform better than a BooleanQuery with good confidence

Exactly this!  Which is what we don't have at the moment, we have an API that 
throws a RuntimeException instead...

What the heuristic should be is an interesting question in itself though.  When 
is it cheaper to build a DocIdSet up-front?  I guess if we know that all of the 
leaves of the disjunction have low costs?  Could we add a scorerSupplier to 
BooleanWeight?  Or does the bulk-scoring BooleanScorer actually cope with this 
anyway?

> 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