You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@solr.apache.org by Dominique Bejean <do...@eolya.fr> on 2022/03/16 10:52:45 UTC

Solr 8 edismax issue with mm and q.op

Hi,

I have some strange results when using both mm and q.op with edismax in
solr 8.11. In this case it looks like q.op has priority on mm.

In all other cases (solr 4 with both dismax and edismax ou Solr 8 with
dismax) in accordance with the documentation, mm has priority on q.op.

Here is my query and the results with generated parsedquery

defType=dismax or edismax
&mm=20%
&q.op=AND
&q=Champion Croissance
&qf=title_exact^0.9 title_srch^0.6% text_exact^0.5 text_srch^0.2



sorl 8.11 - dismax -> numFound = 142
+(
    ((text_srch:champion)^0.2 | (title_exact:champion)^0.9 |
(title_srch:champion)^0.6 | (text_exact:champion)^0.5)
    ((text_srch:croissanc)^0.2 | (title_exact:croissance)^0.9 |
(title_srch:croissanc)^0.6 | (text_exact:croissance)^0.5)
 ) ()


*sorl 8.11 - edismax -> numFound = 26 -> q.op is use (like if mm=100%)*
+(
    +(
        (text_srch:champion)^0.2 | (title_exact:champion)^0.9 |
(title_srch:champion)^0.6 | (text_exact:champion)^0.5
    )
    +(
        (text_srch:croissanc)^0.2 | (title_exact:croissance)^0.9 |
(title_srch:croissanc)^0.6 | (text_exact:croissance)^0.5
     )
)

*sorl 8.11 - edismax and q.op=AND removed -> numFound = 142 *
+(
    (
        (text_srch:champion)^0.2 | (title_exact:champion)^0.9 |
(title_srch:champion)^0.6 | (text_exact:champion)^0.5
    )
    (
        (text_srch:croissanc)^0.2 | (title_exact:croissance)^0.9 |
(title_srch:croissanc)^0.6 | (text_exact:croissance)^0.5
    )
 )

sorl 4.10 - dismax -> numFound = 142
+(
    (text_srch:champion^0.2 | title_exact:champion^0.9 |
title_srch:champion^0.6 | text_exact:champion^0.5)
    (text_srch:croissanc^0.2 | title_exact:croissance^0.9 |
title_srch:croissanc^0.6 | text_exact:croissance^0.5)
 ) ()

sorl 4.10 - edismax -> numFound = 142
+(
    (text_srch:champion^0.2 | title_exact:champion^0.9 |
title_srch:champion^0.6 | text_exact:champion^0.5)
    (text_srch:croissanc^0.2 | title_exact:croissance^0.9 |
title_srch:croissanc^0.6 | text_exact:croissance^0.5)
 )


Is there something wrong in my edismax query ?

Regards

Dominique

Re: Solr 8 edismax issue with mm and q.op

Posted by Shawn Heisey <el...@elyograg.org>.
On 3/16/22 11:40, Dominique Bejean wrote:
> For both dismax and edismax, documentation explain q.op is used only if mm
> is not set and q.op=and is equal to mm=100% and q.op=or is equal to mm=0%.
> It works fine with dismax but strangely but not with edismax in Solr 8.

I'd say that's enough for an issue in Jira asking us to make the 
behavior and the documentation agree.  Might end up only being a 
documentation change.   I do think that for both dismax and edismax, mm 
should take priority over q.op.

Thanks,
Shawn


Re: Solr 8 edismax issue with mm and q.op

Posted by Dominique Bejean <do...@eolya.fr>.
Hi Shawn,

For both dismax and edismax, documentation explain q.op is used only if mm
is not set and q.op=and is equal to mm=100% and q.op=or is equal to mm=0%.
It works fine with dismax but strangely but not with edismax in Solr 8.

Regards

Dominique


Le mer. 16 mars 2022 à 18:29, Shawn Heisey <ap...@elyograg.org> a écrit :

> On 3/16/22 04:52, Dominique Bejean wrote:
> > I have some strange results when using both mm and q.op with edismax in
> > solr 8.11. In this case it looks like q.op has priority on mm.
> >
> > In all other cases (solr 4 with both dismax and edismax ou Solr 8 with
> > dismax) in accordance with the documentation, mm has priority on q.op.
> >
> > Here is my query and the results with generated parsedquery
> >
> > defType=dismax or edismax
> > &mm=20%
> > &q.op=AND
> > &q=Champion Croissance
> > &qf=title_exact^0.9 title_srch^0.6% text_exact^0.5 text_srch^0.2
>
>
> I believe setting q.op=AND sets mm to 100%.  And I wouldn't be surprised
> if that takes priority over an explicit mm setting.
>
> Pick one or the other, and it should probably be mm with edismax/dismax.
> The q.op parameter is more relevant for the lucene query parser, which
> doesn't support mm.
>
> Thanks,
> Shawn
>
>

Re: Solr 8 edismax issue with mm and q.op

Posted by Bernd Fehling <be...@uni-bielefeld.de>.
Because your query is "q=Champion Croissance" there is
another parameter to take care of.
It is "sow" which could be true or false.

Just search through the jira issues with edismax, mm and sow
to get any reports about it.

Regards
Bernd


Am 16.03.22 um 18:40 schrieb Dominique Bejean:
> Hi Shawn,
> 
> For both dismax and edismax, documentation explain q.op is used only if mm
> is not set and q.op=and is equal to mm=100% and q.op=or is equal to mm=0%.
> It works fine with dismax but strangely but not with edismax in Solr 8.
> 
> Regards
> 
> Dominique
> 
> 
> Le mer. 16 mars 2022 à 18:29, Shawn Heisey <ap...@elyograg.org> a écrit :
> 
>> On 3/16/22 04:52, Dominique Bejean wrote:
>>> I have some strange results when using both mm and q.op with edismax in
>>> solr 8.11. In this case it looks like q.op has priority on mm.
>>>
>>> In all other cases (solr 4 with both dismax and edismax ou Solr 8 with
>>> dismax) in accordance with the documentation, mm has priority on q.op.
>>>
>>> Here is my query and the results with generated parsedquery
>>>
>>> defType=dismax or edismax
>>> &mm=20%
>>> &q.op=AND
>>> &q=Champion Croissance
>>> &qf=title_exact^0.9 title_srch^0.6% text_exact^0.5 text_srch^0.2
>>
>>
>> I believe setting q.op=AND sets mm to 100%.  And I wouldn't be surprised
>> if that takes priority over an explicit mm setting.
>>
>> Pick one or the other, and it should probably be mm with edismax/dismax.
>> The q.op parameter is more relevant for the lucene query parser, which
>> doesn't support mm.
>>
>> Thanks,
>> Shawn
>>
>>
> 

Re: Solr 8 edismax issue with mm and q.op

Posted by Shawn Heisey <ap...@elyograg.org>.
On 3/16/22 04:52, Dominique Bejean wrote:
> I have some strange results when using both mm and q.op with edismax in
> solr 8.11. In this case it looks like q.op has priority on mm.
>
> In all other cases (solr 4 with both dismax and edismax ou Solr 8 with
> dismax) in accordance with the documentation, mm has priority on q.op.
>
> Here is my query and the results with generated parsedquery
>
> defType=dismax or edismax
> &mm=20%
> &q.op=AND
> &q=Champion Croissance
> &qf=title_exact^0.9 title_srch^0.6% text_exact^0.5 text_srch^0.2


I believe setting q.op=AND sets mm to 100%.  And I wouldn't be surprised 
if that takes priority over an explicit mm setting.

Pick one or the other, and it should probably be mm with edismax/dismax. 
The q.op parameter is more relevant for the lucene query parser, which 
doesn't support mm.

Thanks,
Shawn