[Aside] Your quote style is confusing, leaving my lines unquoted and your new lines quoted?? [/Aside]
> So in relation to the OP's sample queries I was pointing out that 'q.op=OR > + mm=2' and 'q,op=AND + mm=2' are treated as identical queries by Solr 5.4, > but 5.5+ will manipulate the occurs flags differently before it applies mm > afterwards... because that is what q.op does. If a user explicitly says mm=2, then the users intent is that he should neither have pure OR (no clauses required) nor pure AND (all clauses required), but exactly two clauses required. So I think we need to go back to a solution where q.op technically stays as OR for custom mm. How that would affect queries with explicit operators I don’t know... -- Jan Høydahl, search solution architect Cominvent AS - www.cominvent.com > 2. jun. 2016 kl. 05.12 skrev Greg Pendlebury <greg.pendleb...@gmail.com>: > > I would describe that subtly differently, and I think it is where the > difference lies: > > "Then from 4.x it did not care about q.op if mm was set explicitly" >>> I agree. q.op was not actually used in the query, but rather as a way of > inferred the default mm value. eDismax still ignored whatever q.op was set > and built your query operators (ie. the occurs flags) using q.op=OR. > > "And from 5.5 it seems as q.op does something even if mm is set..." >>> Yes, although I think it is the words 'even if' drawing too strong a > relationship between the two parameters. q.op has a function of its own, > and that now functions as it 'should' (opinionated, I know) in the query > construction, and continues to influence the default value of mm if it has > not been explicitly set. SOLR-8812 further evolves that influence by trying > to improve backwards compatibility for users who were not explicitly > setting mm, and only ever changed 'q.op' despite it being a step removed > from the actual parameter they were trying to manipulate. > > So in relation to the OP's sample queries I was pointing out that 'q.op=OR > + mm=2' and 'q,op=AND + mm=2' are treated as identical queries by Solr 5.4, > but 5.5+ will manipulate the occurs flags differently before it applies mm > afterwards... because that is what q.op does. > > > On 2 June 2016 at 07:13, Jan Høydahl <jan....@cominvent.com> wrote: > >> Edismax used to default to mm=100% and not care about q.op at all >> >> Then from 4.x it did not care about q.op if mm was set explicitly, >> but if mm was not set, then q.op=OR —> mm=0%, q.op=AND —> mm=100% >> >> And from 5.5 it seems as q.op does something even if mm is set... >> >> -- >> Jan Høydahl, search solution architect >> Cominvent AS - www.cominvent.com >> >>> 1. jun. 2016 kl. 23.05 skrev Greg Pendlebury <greg.pendleb...@gmail.com >>> : >>> >>> But isn't that the default value? In this case the OP is setting mm >>> explicitly to 2. >>> >>> Will have to look at those code links more thoroughly at work this >> morning. >>> Apologies if I am wrong. >>> >>> Ta, >>> Greg >>> >>> On Wednesday, 1 June 2016, Jan Høydahl <jan....@cominvent.com> wrote: >>> >>>>> 1. jun. 2016 kl. 03.47 skrev Greg Pendlebury < >> greg.pendleb...@gmail.com >>>> <javascript:;>>: >>>> >>>>> I don't think it is 8812. q.op was completely ignored by edismax prior >> to >>>>> 5.5, so it is not mm that changed. >>>> >>>> That is not the case. Prior to 5.5, mm would be automatically set to >> 100% >>>> if q.op==AND >>>> See https://issues.apache.org/jira/browse/SOLR-1889 and >>>> https://svn.apache.org/viewvc?view=revision&revision=950710 >>>> >>>> Jan >> >>