[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15326691#comment-15326691 ] Jan Høydahl commented on SOLR-8812: --- Thanks Steve for pushing this through! > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 5.6, 6.1, 5.5.2, master (7.0), 6.0.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15325638#comment-15325638 ] Greg Pendlebury commented on SOLR-8812: --- Sounds great. Add my thanks to the those you've already received. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 5.6, 6.1, 5.5.2, master (7.0), 6.0.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15324602#comment-15324602 ] Steve Rowe commented on SOLR-8812: -- bq. Sounds (tentatively) ok to me. I was quite concerned when you said it puts things back to pre-SOLR-2649 functionality, but from looking at what got committed it seems that q.op=OR is no longer hardcoded in setDefaultOperator() (which was fixed in SOLR-2649). I haven't executed anything, but this seems like a good step with regards to mm handling. Greg, what I committed is behaviorally the same as your patch - check the unit tests: I included all of the ones you wrote, but added more to cover all permutations of operator and {{q.op}}. What I meant by "put things back" was that I attempted to minimize the diff between what I committed and the pre-SOLR-2649 code, so I put your {{foundOperators()}} back in the same location that it was when it was named {{doMinMatched()}} - your patch put it in a different location in the source file. Thanks for the work you did on this issue! > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2, 6.0.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15324542#comment-15324542 ] Erick Erickson commented on SOLR-8812: -- Big thanks Steve! This has been contributing to my "guilt load" for a really long time. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2, 6.0.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15324415#comment-15324415 ] David Smiley commented on SOLR-8812: Thanks so much for getting this done [~steve_rowe] (and others)! > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2, 6.0.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15324063#comment-15324063 ] Greg Pendlebury commented on SOLR-8812: --- Sounds (tentatively) ok to me. I was quite concerned when you said it puts things back to pre-SOLR-2649 functionality, but from looking at what got committed it seems that q.op=OR is no longer hardcoded in setDefaultOperator() (which was fixed in SOLR-2649). I haven't executed anything, but this seems like a good step with regards to mm handling. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2, 6.0.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15323998#comment-15323998 ] ASF subversion and git services commented on SOLR-8812: --- Commit 3c789e9d274fb670c53c8eb6eb9dfceace2cd120 in lucene-solr's branch refs/heads/branch_6x from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=3c789e9 ] SOLR-8812: edismax: turn off mm processing if no explicit mm spec is provided and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649 > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15323993#comment-15323993 ] ASF subversion and git services commented on SOLR-8812: --- Commit d5712fea6058ed5fe905f4e157466d117a1f38c0 in lucene-solr's branch refs/heads/branch_6_0 from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=d5712fe ] SOLR-8812: CHANGES.txt entry > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15324000#comment-15324000 ] ASF subversion and git services commented on SOLR-8812: --- Commit 74d94ec26585d57d6991f99c892f7be1278346f9 in lucene-solr's branch refs/heads/branch_6x from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=74d94ec ] SOLR-8812: edismax: turn off mm processing if no explicit mm spec is provided and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649 > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15323988#comment-15323988 ] ASF subversion and git services commented on SOLR-8812: --- Commit e88a64a0490ac2139e0aa55a8ca8b3588ce41395 in lucene-solr's branch refs/heads/branch_5x from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=e88a64a ] SOLR-8812: edismax: turn off mm processing if no explicit mm spec is provided and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649 > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15323991#comment-15323991 ] ASF subversion and git services commented on SOLR-8812: --- Commit 202b993335a370be06db02b866c62a876350b01d in lucene-solr's branch refs/heads/branch_6_0 from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=202b993 ] SOLR-8812: edismax: turn off mm processing if no explicit mm spec is provided and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649 > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15323990#comment-15323990 ] ASF subversion and git services commented on SOLR-8812: --- Commit 1dff75c643f17c5447264fecb9b71530e05f017f in lucene-solr's branch refs/heads/branch_5x from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=1dff75c ] SOLR-8812: CHANGES.txt entry > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15324002#comment-15324002 ] ASF subversion and git services commented on SOLR-8812: --- Commit 38714399760889d2d7b188a87341aade6139ffef in lucene-solr's branch refs/heads/master from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=3871439 ] SOLR-8812: edismax: turn off mm processing if no explicit mm spec is provided and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649 > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15323994#comment-15323994 ] ASF subversion and git services commented on SOLR-8812: --- Commit c2aac7d005424094e129045e834aa6ffb2c7aa82 in lucene-solr's branch refs/heads/branch_6_1 from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=c2aac7d ] SOLR-8812: edismax: turn off mm processing if no explicit mm spec is provided and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649 > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15323996#comment-15323996 ] ASF subversion and git services commented on SOLR-8812: --- Commit e0c6762de8dd91e02a79a6d12b3164a052bf07ff in lucene-solr's branch refs/heads/branch_6_1 from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=e0c6762 ] SOLR-8812: edismax: turn off mm processing if no explicit mm spec is provided and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649 > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15323987#comment-15323987 ] ASF subversion and git services commented on SOLR-8812: --- Commit 508f8f83e1ed3bb8c7f8ca37d767e95b5b7b87c3 in lucene-solr's branch refs/heads/branch_5_5 from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=508f8f8 ] SOLR-8812: CHANGES.txt entry > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is not explicitly set
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15323985#comment-15323985 ] ASF subversion and git services commented on SOLR-8812: --- Commit 5bc34949adc911dacba29c08f1e522de4679aee6 in lucene-solr's branch refs/heads/branch_5_5 from [~steve_rowe] [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=5bc3494 ] SOLR-8812: edismax: turn off mm processing if no explicit mm spec is provided and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649 > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND and mm is > not explicitly set > - > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Steve Rowe > Fix For: 6.1, 5.5.2 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, > SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15279729#comment-15279729 ] Stephan Lagraulet commented on SOLR-8812: - Can you remove this issue from version 5.5.1 as this version is packaged without a fix for this issue? > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson > Fix For: 5.5.1, 6.0 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15259660#comment-15259660 ] Jan Høydahl commented on SOLR-8812: --- Relevant user@ email thread, confirming the impression that this indeed must be treated as a bug: http://search-lucene.com/m/eHNlru3hR1b74Oz=How+can+I+set+the+defaultOperator+to+be+AND+ > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15259298#comment-15259298 ] Erick Erickson commented on SOLR-8812: -- Since this hasn't really reached any sort of resolution, and since this behavior is out there in the field already I changed its status. I'll keep it on my back burner. I suspect that Jan's comments about beefing up the test cases is well taken. When I Get Some Time (tm) I'll see about beefing up the test cases (all volunteers welcome). I think it'll be easier to discuss specific test cases and whether the behavior they're testing is the desired behavior... > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15259295#comment-15259295 ] Ryan Steinberg commented on SOLR-8812: -- I am out of the office until Monday, May 2nd and will reply to your email when I return. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15223581#comment-15223581 ] Greg Pendlebury commented on SOLR-8812: --- [~erickerickson], personally, I am ambivalent with regards to timing and versions. I am still not convinced there is actually an issue here, but I don't want to be a dick and dismiss it out-of-hand. The patches provided are simply about choosing default parameter values that disrupt the least number of users who did not have mm set to an appropriate value. Any user (risky, broad generalisation incoming) who puts a boolean OR operator into an edismax query string would not want mm=100%, but that is what is happening here. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812-barbie.patch, SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15223238#comment-15223238 ] Ishan Chattopadhyaya commented on SOLR-8812: How about initiating a 5.5.1 and 6.0.1 release immediately after the 6.0 release? > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15222676#comment-15222676 ] Erick Erickson commented on SOLR-8812: -- We've got something of a time problem here. 6.0 is being released (there was an RC1, but it's being re-spun) and this JIRA is marked as a blocker. I don't think that this _should_ be a blocker for 6.0 since it's already in 5.5. And I'm reluctant to hurry a fix in to 6.0 at this late date given the discussion so far. I suspect that practically 6.0 won't be rushed into production before we get a fix for this issue (6.0.1 or 6.1 or whatever). We should fix it ASAP, but not at the expense of holding up 6.0. Thoughts? > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15221407#comment-15221407 ] Jan Høydahl commented on SOLR-8812: --- Should we add a test case for [~rjosal]'s issue above as well? bq. "hair ties -barbie" should return hair ties but not barbie hair ties, and now it matches nothing. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15221079#comment-15221079 ] Greg Pendlebury commented on SOLR-8812: --- I also confirmed (for my own sanity) that q.op does indeed influence the default value of mm, as per [~janhoy]. Personally I don't like that, and perhaps it isn't relevant anymore since SOLR-2649... but I left it alone. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch, SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15220925#comment-15220925 ] Greg Pendlebury commented on SOLR-8812: --- Ok, I will try to find some time over the next week or so. I freely confess it doesn't look great on a Friday afternoon and school holidays begin here after next week. It might be a rough contribution someone else can carry over the line. With regards to mixed cases of q.op and mm where users are explicitly setting them, I think they are already covered if you look in the unit test testDefaultOperatorWithMm(). The problem here seems to be the use case where people do not explicitly set mm and fall back to the default. This is treading on some expected behaviour from existing users. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15220908#comment-15220908 ] Jan Høydahl commented on SOLR-8812: --- [~gpendleb] looks like you have a good command on the logic and interactions here, so feel free to throw up a patch... bq. IF (the query contains a boolean operator) AND (mm has not been explicitly set) THEN (mm = 0%) In my experience some users may set mm=100% while others achieved the same with q.op=AND. Advising users to favor the use of only q.op to get boolean operators working makes the distinction hard to explain. I'm positive to applying a fix that focuses on getting the pure AND/OR 0%/100% case fixed (if that could be achieved with your proposed method), and then worry about other mm's combined with explicit operators later. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15220854#comment-15220854 ] Greg Pendlebury commented on SOLR-8812: --- I don't know that what we are talking about here is a 'workaround' at all. Solr is doing exactly what it is being asked to do. I know it is disrupting an existing user base, so it warrants discussion and maybe even a 'fix'... but the existing user base were leaving a non-configured parameter at its default value (which probably didn't match their use case) and it only worked because the parameter was being ignored by edismax. The fact that parameter was ignored introduced the real bugs in SOLR-2649. I think there has always been confusion over how this works under the hood, and that still continues. q.op and mm apply to two different parts of the query, and each of them has other factors that come into play. * q.op is a boolean operator, which happens pre-parse (or in the very earliest stages of parsing) * mm applies to (top level) clauses which have the SHOULD occur flag *after* Solr translates all the boolean operators * if mm is not explicitly set, the default value is determined by q.op (? I haven't verified this, but that is Jan's input above). The old doco says it is always 100% default... but I personally have always set it explicitly... no experience. * Solr translates boolean operators into occurs flags differently depending on the value of q.op. In particular q.op=AND causes non-intuitive generation of occurs flags if looked at from a purely boolean perspective. * mm does not make much sense at all if you think about search as a purely boolean query (ie. the result either matches or doesn't) instead of occurs flags (ie. the score of the result is either higher or lower) So now that SOLR-2649 has come along, it slightly muddies the water because: * q.op is no longer hard coded to OR. Pre-patch the user could say q.op=AND, but it didn't do anything to the query * The presence of an operator no longer turns off the mm feature *My take on the issue is that users who want to use boolean operators in edismax should pay attention to the mm parameter, and make sure their choice matches their use case*. Previously they didn't have to... but the presence of the boolean operators when using edismax was buggy (? debatable... it has been argued that it simply wasn't the use case edismax was first written for). Having said that, IF anything was to change, I would simply play subtly with choosing the default value of mm. Maybe something like this: IF (the query contains a boolean operator) AND (mm has not been explicitly set) THEN (mm = 0%) It is a tweak on the work Jan did in SOLR-2649, so that instead of turning off mm in response to a boolean operator being present, we instead influence the default value. We still let users ultimately set up their parameters however they want though. If the user has a use case that includes both boolean parameters and mm logic... have fun. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15220618#comment-15220618 ] Jan Høydahl commented on SOLR-8812: --- bq. I can make this not a blocker since we have a work-around Isn't it premature to proclaim a generic workaround, at least without more test coverage to prove so? The majority of edismax users have not upgraded to 5.5.0 yet, and for many of them, existing applications and existing queries will start producing wrong results. If there is a generic workaround to add {{mm=0}} in solrconfig.xml to get back the correct behavior, we can declare a workaround. But we cannot assume it is acceptable for people to write custom logic to conditionally change the request depending on how the user-entered query looks like. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15220391#comment-15220391 ] Erick Erickson commented on SOLR-8812: -- OK, just to see if we're all on the same page. I can make this not a blocker since we have a work-around (set mm=0 when mixing q.op=AND with OR top-level clauses) and work is ongoing to clarify the interaction between q.op and mm. The code Jan pointed out sure makes this confusing. Am I correct in that the OR is honored (without setting mm=0) in a query like q.op=AND=A and (B OR C)? > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15219765#comment-15219765 ] Jan Høydahl commented on SOLR-8812: --- bq. I think your suspicion about mm defaulting to 100% is correct. Not entirely. The method {{DisMaxQParser#parseMinShouldMatch}} "Applies the appropriate default rules for the "mm" param based on the effective value of the "q.op" param", i.e. if mm is not explicitly set, it is set i 0 for q.op=OR and 100% for q.op=AND. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15219758#comment-15219758 ] Jan Høydahl commented on SOLR-8812: --- Setting {{q.op=AND}} or {{mm=100%}} should result in exactly the same behavior. The fact that setting {{mm=0}} passes the test could be a coincidence more than a general workaround, perhaps an issue of the order things are done in the code. Would be interesting to see which code path is executed with {{q.op=AND=0}} though... [~erickerickson] We can add more general tests in SOLR-8926. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15219210#comment-15219210 ] Erick Erickson commented on SOLR-8812: -- Thanks to you both for jumping in here. I'll see what I can do to get this into any 5.5.1 and also 6.0 (and trunk of course). [~janhoy] What do you think? We can raise adding tests as a separate JIRA... > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15219133#comment-15219133 ] Greg Pendlebury commented on SOLR-8812: --- Thanks. Hopefully that is ok. I just installed git and started cloning trunk... now to upgrade to Java 8. I think it is all working as intended, it is just that there is a confusing legacy of not having to worry about what mm was set to for some use cases. SOLR-2649 will force people to check what the parameters are, but all queries are now supported. It would be nice if it was less disruptive, but given that pre-patch there was no way to get edismax to do certain queries, no matter what parameters you set, I think it is still an improvement. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15219120#comment-15219120 ] Ryan Steinberg commented on SOLR-8812: -- I tested explicitly setting mm to 0 and all of my tests passed. I also added a mm=0 to the failing test case from [~janhoy] and it passed too. [~gpendleb], I think your suspicion about mm defaulting to 100% is correct. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15219086#comment-15219086 ] Greg Pendlebury commented on SOLR-8812: --- I am happy to take a look at any issues, since I was involved in SOLR-2649. I need to get a new copy of the code first, but in the interim, can someone confirm that explicitly setting mm to 0 does not fix this? I believe mm defaults to 100%, so that may be the real culprit, as opposed to q.op=AND. Before SOLR-2649 was resolved, setting an OR operator would have caused mm to be ignored. Now it will use the default value unless you set it explicitly. Our production servers are using 5.1 with SOLR-2649 applied, and we have q.op=AND, with perfectly functional OR operators and mm=0%. All of the obvious queries work, including the cases referenced above. >From memory there are a lot of subtle cliffs to fall off here, such as making >sure we are talking about top level clauses and ultimately remembering that >Solr does not use boolean logic... and there are some edge cases where it >simply doesn't work the same way as the occurs flags. SHOULD vs OR is the main >culprit. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15218894#comment-15218894 ] Jan Høydahl commented on SOLR-8812: --- Perhaps, after reverting, we could spend some effort adding better test coverage to edismax, to prevent similar regressions in the future. Then also add a bunch more tests for SOLR-2649, defining wanted behavior for all kind of corner cases. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Assignee: Erick Erickson >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15218104#comment-15218104 ] Erick Erickson commented on SOLR-8812: -- [~janhoy] I could go either way on this. As I stated in SOLR-2649, though, I'm out of my depth when dealing with the parsing here, plus I'm kind of slammed for the next while. So unless someone volunteers to create a patch, I'll revert SOLR-2649 before any 5.5.1 release. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15217914#comment-15217914 ] Jan Høydahl commented on SOLR-8812: --- [~erickerickson] Should we attempt a fix for 5.5.1 or do you prefer to revert SOLR-2649 until there is a better patch available? > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15201525#comment-15201525 ] Ryan Josal commented on SOLR-8812: -- On the topic of SOLR-2649, I just upgraded to 5.5 yesterday and SOLR-2649 broke one of our test cases which was "hair ties -barbie" should return hair ties but not barbie hair ties, and now it matches nothing. I assume this is intended, but if not, maybe this ticket also addresses it? > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15201408#comment-15201408 ] Jan Høydahl commented on SOLR-8812: --- Also, in SOLR-2649 we have {code} public ExtendedSolrQueryParser(QParser parser, String defaultField) { super(parser, defaultField); - // don't trust that our parent class won't ever change its default - setDefaultOperator(QueryParser.Operator.OR); + // Respect the q.op parameter before mm will be applied later + SolrParams defaultParams = SolrParams.wrapDefaults(parser.getLocalParams(), parser.getParams()); + QueryParser.Operator defaultOp = QueryParsing.getQueryParserDefaultOperator( + parser.getReq().getSchema(), defaultParams.get(QueryParsing.OP)); + setDefaultOperator(defaultOp); } {code} This means the mm calculations may now get REQUIRED clauses as input, while before SOLR-2649 when defaultOperator was forced to OR, all clauses would enter as OPTIONAL. Since {{minShouldMatch}} is supposed to be calculated only between optional clauses, this will fail. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15201388#comment-15201388 ] Jan Høydahl commented on SOLR-8812: --- Problem lies in {{SolrPluginUtils.setMinShouldMatch(BooleanQuery.Builder q, String spec, boolean mmAutoRelax)}}, which before SOLR-2649 was only ever called if the query did not contain explicit {{OR}} or {{NOT}}, while now it is called always, but is not designed to handle those cases. The failing test has two clauses {{(text_sw:oil) (text_sw:stock)}} both of which are {{SHOULD}}. But still we return mm=2. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15201372#comment-15201372 ] Jan Høydahl commented on SOLR-8812: --- (!) Promoting this bug as Blocker for now, as it directly affects correctness of many edismax queries, and likely to hit a large part of users upgrading to 5.5.0. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg >Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15188444#comment-15188444 ] Ryan Steinberg commented on SOLR-8812: -- I agree: SOLR-2649 likely introduced this new behavior. I just read through the comments on SOLR-2649 and I'm still not sure this was intended: effectively, explicit OR is no longer possible when q.op=AND, even in the absence of an explicit mm param. After reading this [helpful blog post|https://lucidworks.com/blog/2011/12/28/why-not-and-or-and-not/] referenced in the ExtendedDismaxQParser unit test, I now understand that AND takes precedence over OR but I'm not sure this is a clearly documented or anticipated consequence of this recent change. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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
[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15188158#comment-15188158 ] Jack Krupansky commented on SOLR-8812: -- The difference in the generated query appears to be the "))~2" which indicates a BooleanQuery with a minShouldMatch of 2 which means that both OR/SHOULD terms MUST match, effectively turning SHOULD/OR into MUST/AND. I'm guessing it was this 5.5 change: SOLR-2649: {code} * SOLR-2649: MM ignored in edismax queries with operators. (Greg Pendlebury, Jan Høydahl et. al. via Erick Erickson) {code} I think q.op=AND simply sets MM=100%, effectively overriding the explicit OR. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers >Affects Versions: 5.5 >Reporter: Ryan Steinberg > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zz", > "querystring": "id:12345 OR zz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zz/no_coord", > "parsedquery_toString": "+(id:12345 (text:zz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- 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