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

Reply via email to