Hi Jane,

That change in 7.2 does look like it's correlated, and I'm the one who
implemented it in the name of security.

Could you walk me through a short series of steps to show the problem with
one of Solr's "example" setups like techproducts?  Step one is run it, step
two is you sending the query via curl.  Use whatever Solr version you want.

~ David


On Fri, Jul 28, 2023 at 10:33 AM Jane Sandberg <js7...@princeton.edu> wrote:

> 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
>

Reply via email to