Jim Ferenczi created LUCENE-7747:
------------------------------------

             Summary: QueryBuilder should build side-paths query (graph query) 
lazily
                 Key: LUCENE-7747
                 URL: https://issues.apache.org/jira/browse/LUCENE-7747
             Project: Lucene - Core
          Issue Type: Improvement
            Reporter: Jim Ferenczi


In LUCENE-7638 we generate a query for each multi-token path in the graph and 
combine them at the end in a boolean query.  
This can lead to OOM when the number of path is big, instead we should build 
the disjunction of these paths lazily in order to throw "too many clauses" 
early if the number of paths is bigger than max boolean clauses.
For instance a shingle filter with shingles of different size produces a graph 
with multiple side paths at each position. If the input query has a lot of 
tokens, the number of paths (query) created is exponential. For this use case 
it is maybe preferable to disallow graph query analysis completely but when 
allowed we should also be protected against combinatorial explosion.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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

Reply via email to