[ https://issues.apache.org/jira/browse/SOLR-9174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15308589#comment-15308589 ]
Jan Høydahl commented on SOLR-9174: ----------------------------------- There is a long history here. Back in the days, (e)dismax did only care about {{mm}}, which defaulted to {{100%}}. Then people got confused when they had {{q.op=OR}} or {{defaultOperator=OR}} in the schema, so we added some logic {{if q.op==OR then mm=0 else mm=100%}} which kicked in *if user did not explicitly set mm*. But then there was the case of explicit operators in the query, which pre-5.5 used to ignore {{mm}} completely, see SOLR-2649. So in 5.5 we tried to solve that one, changing the interaction between {{q.op}} and {{mm}} a bit, leading to SOLR-8812, and perhaps also the root case for this issue? > After Solr 5.5, mm parameter doesn't work properly > -------------------------------------------------- > > Key: SOLR-9174 > URL: https://issues.apache.org/jira/browse/SOLR-9174 > Project: Solr > Issue Type: Bug > Components: query parsers, search > Affects Versions: 5.5, 6.0, 6.0.1 > Reporter: Issei Nishigata > > “mm" parameter does not work properly, when I set "q.op=AND” after Solr 5.5. > In Solr 5.4, mm parameter works expectedly with the following setting. > [schema] > {code:xml} > <fieldType name="bi_gram" class="solr.TextField"> > <analyzer> > <tokenizer class="solr.NGramTokenizerFactory" minGramSize="2" > maxGramSize="2"/> > </analyzer> > </fieldType> > {code} > [request] > {quote} > http://localhost:8983/solr/collection1/select?defType=edismax&q.op=AND&mm=2&q=solar > {quote} > After Solr 5.5, the result will not be the same as Solr 5.4. > [Solr 5.4] > {code:xml} > <response> > ... > <lst name="params"> > <str name="mm">2</str> > <str name="q">solar</str> > <str name="defType">edismax</str> > <str name="q.op">AND</str> > </lst> > ... > <result name="response" numFound="1" start="0"> > <doc> > <str name="id">0</str> > <arr name="content"> > <str>solr</str> > </arr> > </doc> > </result> > <lst name="debug"> > <str name="rawquerystring">solar</str> > <str name="querystring">solar</str> > <str name="parsedquery"> > (+DisjunctionMaxQuery((((text:so text:ol text:la text:ar)~2))))/no_coord > </str> > <str name="parsedquery_toString">+(((text:so text:ol text:la > text:ar)~2))</str> > ... > </response> > {code} > [Solr 6.0.1] > {code:xml} > <response> > ... > <lst name="params"> > <str name="mm">2</str> > <str name="q">solar</str> > <str name="defType">edismax</str> > <str name="q.op">AND</str> > </lst> > ... > <result name="response" numFound="0" start="0"/> > <lst name="debug"> > <str name="rawquerystring">solar</str> > <str name="querystring">solar</str> > <str name="parsedquery"> > (+DisjunctionMaxQuery(((+text:so +text:ol +text:la +text:ar))))/no_coord > </str> > <str name="parsedquery_toString">+((+text:so +text:ol +text:la > +text:ar))</str> > ... > {code} > As shown above, parsedquery also differs from Solr 5.4 and Solr 6.0.1(after > Solr 5.5). -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org