[
https://issues.apache.org/jira/browse/SOLR-2649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14322219#comment-14322219
]
Greg Pendlebury commented on SOLR-2649:
---------------------------------------
Thanks Erick,
I can recreate the SOLR-2649-with-Qop.patch this week (today looks pretty busy
sorry). Just updating trunk now. Jan's SOLR-2649 patch is technically correct
from everything I have looked at, but it actually makes the eDismax parser very
confusing for novice end users. Our investigation seemed to indicate that the
problems stem from the steps taken by Lucene/Solr to convert boolean OR
operators to the SHOULD occur flags (but running off memory here). This is made
very obvious by the fact that eDismax is hard coded to use OR as the default
operator. We were simply tea leaf gazing, but our assumption is that this
confusion may have been the original cause for disabling 'mm' when operators
were present.
So the patch we submitted simply does the same as Jan's, but also makes eDismax
read the default operator from the 'q.op' parameter. With access to both
parameters we have always been able to respond meaningfully to the queries our
users are submitting.
> MM ignored in edismax queries with operators
> --------------------------------------------
>
> Key: SOLR-2649
> URL: https://issues.apache.org/jira/browse/SOLR-2649
> Project: Solr
> Issue Type: Bug
> Components: query parsers
> Reporter: Magnus Bergmark
> Assignee: Erick Erickson
> Priority: Minor
> Fix For: 4.9, Trunk
>
> Attachments: SOLR-2649-with-Qop.patch, SOLR-2649.diff, SOLR-2649.patch
>
>
> Hypothetical scenario:
> 1. User searches for "stocks oil gold" with MM set to "50%"
> 2. User adds "-stockings" to the query: "stocks oil gold -stockings"
> 3. User gets no hits since MM was ignored and all terms where AND-ed
> together
> The behavior seems to be intentional, although the reason why is never
> explained:
> // For correct lucene queries, turn off mm processing if there
> // were explicit operators (except for AND).
> boolean doMinMatched = (numOR + numNOT + numPluses + numMinuses) == 0;
> (lines 232-234 taken from
> tags/lucene_solr_3_3/solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java)
> This makes edismax unsuitable as an replacement to dismax; mm is one of the
> primary features of dismax.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]