Bjarke Mortensen created LUCENE-8495:
----------------------------------------

             Summary: ComplexPhraseQuery.rewrite throws "Unknown query 
type:org.apache.lucene.search.SynonymQuery" when nested BooleanQuery contains a 
SynonymQuery 
                 Key: LUCENE-8495
                 URL: https://issues.apache.org/jira/browse/LUCENE-8495
             Project: Lucene - Core
          Issue Type: Bug
          Components: core/queryparser
    Affects Versions: 7.4
            Reporter: Bjarke Mortensen
         Attachments: 
0001-Added-support-for-nested-synonym-queries-in-ComplexP.patch

When using nested queries in ComplexPhrases, and a part of the query is a 
SynonymQuery, an exception is thrown from  addComplexPhraseClause:

{{throw new IllegalArgumentException("Unknown query type:"}}
{{ + childQuery.getClass().getName());}}

Examples (dogs and tv are synonyms):

{{"(cats OR dogs) cigar"}}

"platform* (video* OR tv)"~10

The bug is similar in nature to LUCENE-8305, in that SynonymQuery support was 
added to ComplexPhraseQueryParser (in LUCENE-7695), but was not expanded to 
nested queries.

The fix is similar to the one in LUCENE-8305, namely to add the same logic in 
addComplexPhraseClause as in rewrite.

See attached patch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to