Hi Solr colleagues, On Solr 8.4.1, we’ve noticed that the following types of JSON DSL queries work if our luceneMatchVersion is 7.1 or lower, or if our default query parser is set to lucene:
{"query":{"bool":{"must":[{"lucene":{"query":"plasticity","df":"title_a_index"}}]}}} However, if the query parser is set to edismax and the luceneMatchVersion is 7.2 or higher, the parsed query visible with debug=true becomes a complete mess, searching for the terms “bool” and “must”, rather than the terms we actually want to search for: +(DisjunctionMaxQuery(((author_main_unstem_search:bool)^1000.0 | (local_subject_unstem_search:bool)^15.0 | (author_unstem_search:bool)^40.0 […] Also while debug=true, we noticed that the JSON DSL queries get converted into a querystring with local params: ”{!bool must=$_tt1 }”. So I am suspecting these two changes in Solr 7.2 as the reason we can’t use Boolean JSON queries with edismax and a recent luceneMatchVersion: https://solr.apache.org/docs/7_2_0/changes/Changes.html#v7.2.0.upgrade_notes. Does that seem correct? Also, could this be related to the question Benjamin Armintor asked on June 23 (subject: Changes to JSON query API/syntax in Solr 9.x?)? I’m specifically curious about whether a luceneMatchVersion of 7.1 or lower still works in Solr 9? Thanks for your insights, -Jane -- Jane Sandberg (she/her) Library Software Engineer, Discovery and Access Services