I think it is the change in the OR and AND treatment that had been
confusing a number of people. There were discussions before on the
mailing list about it, for example
http://search-lucene.com/m/eHNlzBMAHdfxcv1

Regards,
   Alex.
----
Solr Example reading group is starting November 2016, join us at
http://j.mp/SolrERG
Newsletter and resources for Solr beginners and intermediates:
http://www.solr-start.com/


On 7 October 2016 at 10:24, Nick Hall <darknovan...@gmail.com> wrote:
> Hello,
>
> I'm working on upgrading a Solr installation from 4.0 to 6.2.1 and have
> everything mostly working but have hit a snag. I kept the schema basically
> the same, just made some minor changes to allow it to work with the new
> version, but one of my queries is working differently with the new version
> and I'm not sure why.
>
> In version 4.0 when I do a query with edismax like:
>
> "params":{
>       "mm":"3",
>       "debugQuery":"on",
>       "indent":"on",
>       "q":"string1 string2 string3 string4 string5",
>       "qf":"vehicle_string_t^1",
>       "wt":"json",
>       "defType":"edismax"}},
>
> I get the results I expect, and the debugQuery shows:
>
> "rawquerystring":"string1 string2 string3 string4 string5",
>     "querystring":"string1 string2 string3 string4 string5",
>     "parsedquery":"+((DisjunctionMaxQuery((vehicle_string_t:\"string 1\"))
> DisjunctionMaxQuery((vehicle_string_t:\"string 2\"))
> DisjunctionMaxQuery((vehicle_string_t:\"string 3\"))
> DisjunctionMaxQuery((vehicle_string_t:\"string 4\"))
> DisjunctionMaxQuery((vehicle_string_t:\"string 5\")))~3)",
>     "parsedquery_toString":"+(((vehicle_string_t:\"string 1\")
> (vehicle_string_t:\"string 2\") (vehicle_string_t:\"string 3\")
> (vehicle_string_t:\"string 4\") (vehicle_string_t:\"string 5\"))~3)",
>
>
> But when I run the same query with version 6.2.1, debugQuery shows:
>
> "rawquerystring":"string1 string2 string3 string4 string5",
>     "querystring":"string1 string2 string3 string4 string5",
>     "parsedquery":"(+(+DisjunctionMaxQuery((vehicle_string_t:\"string 1\"))
> +DisjunctionMaxQuery((vehicle_string_t:\"string 2\"))
> +DisjunctionMaxQuery((vehicle_string_t:\"string 3\"))
> +DisjunctionMaxQuery((vehicle_string_t:\"string 4\"))
> +DisjunctionMaxQuery((vehicle_string_t:\"string 5\"))))/no_coord",
>     "parsedquery_toString":"+(+(vehicle_string_t:\"string 1\")
> +(vehicle_string_t:\"string 2\") +(vehicle_string_t:\"string 3\")
> +(vehicle_string_t:\"string 4\") +(vehicle_string_t:\"string 5\"))",
>
>
> You can see that the key difference is that in version 4 it uses the "~3"
> to indicate the mm, but in 6.2.1 it doesn't matter what I have mm set to,
> it always ends with "/no_coord" and is trying to match all 5 strings even
> if mm is set to 1, so mm is being completely ignored.
>
> I imagine there is some behavior that changed between 4 and 6.2.1 that I
> need to adjust something in my configuration to account for, but I'm
> scratching my head right now. Has anyone else seen this and can point me in
> the right direction? Thanks,
>
> Nick

Reply via email to