[jira] [Issue Comment Deleted] (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:all-tabpanel ] Ryan Steinberg updated SOLR-8812: - Comment: was deleted (was: 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=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=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=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] [Created] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND
Ryan Steinberg created SOLR-8812: Summary: 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] [Created] (SOLR-7874) two terms in brackets interpreted as range query
Ryan Steinberg created SOLR-7874: Summary: two terms in brackets interpreted as range query Key: SOLR-7874 URL: https://issues.apache.org/jira/browse/SOLR-7874 Project: Solr Issue Type: Bug Components: query parsers Affects Versions: 5.2.1 Reporter: Ryan Steinberg Queries with two strings between brackets are parsed as range queries even when missing the TO keyword. This creates performance problems from extremely expensive unintended range queries. Example: [string1 string2] rawquerystring: [string1 string2], querystring: [string1 string2], parsedquery: (+DisjunctionMaxQuery((text:[string1 TO string2])))/no_coord, parsedquery_toString: +(text:[string1 TO string2]), explain: {}, QParser: ExtendedDismaxQParser Same behavior for LuceneQParser: rawquerystring: [string1 string2], querystring: [string1 string2], parsedquery: text:[string1 TO string2], parsedquery_toString: text:[string1 TO string2], explain: {}, QParser: LuceneQParser Three strings between brackets is parsed correctly by ExtendedDismaxQParser: rawquerystring: [string1 string2 string3], querystring: [string1 string2 string3], parsedquery: (+(DisjunctionMaxQuery((text:string1)) DisjunctionMaxQuery((text:string2)) DisjunctionMaxQuery((text:string3/no_coord, parsedquery_toString: +((text:string1) (text:string2) (text:string3)), explain: {}, QParser: ExtendedDismaxQParser Query examples from live search application (copy and pasted book titles): Biology of cancer. [2nd ed.] Prostate cancer principles and practice. [1st ed.] -- 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] [Updated] (SOLR-7874) two terms in brackets interpreted as range query
[ https://issues.apache.org/jira/browse/SOLR-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ryan Steinberg updated SOLR-7874: - Description: Queries with two strings between brackets are parsed as range queries even when missing the TO keyword. This creates performance problems from extremely expensive unintended range queries. Example: [string1 string2] rawquerystring: [string1 string2], querystring: [string1 string2], parsedquery: (+DisjunctionMaxQuery((text:[string1 TO string2])))/no_coord, parsedquery_toString: +(text:[string1 TO string2]), explain: {}, QParser: ExtendedDismaxQParser Same behavior for LuceneQParser: rawquerystring: [string1 string2], querystring: [string1 string2], parsedquery: text:[string1 TO string2], parsedquery_toString: text:[string1 TO string2], explain: {}, QParser: LuceneQParser Three strings between brackets is parsed correctly by ExtendedDismaxQParser: rawquerystring: [string1 string2 string3], querystring: [string1 string2 string3], parsedquery: (+(DisjunctionMaxQuery((text:string1)) DisjunctionMaxQuery((text:string2)) DisjunctionMaxQuery((text:string3/no_coord, parsedquery_toString: +((text:string1) (text:string2) (text:string3)), explain: {}, QParser: ExtendedDismaxQParser Query examples from live search application (copy and pasted book titles): The biology of cancer [electronic resource] Prostate cancer principles and practice. [1st ed.] was: Queries with two strings between brackets are parsed as range queries even when missing the TO keyword. This creates performance problems from extremely expensive unintended range queries. Example: [string1 string2] rawquerystring: [string1 string2], querystring: [string1 string2], parsedquery: (+DisjunctionMaxQuery((text:[string1 TO string2])))/no_coord, parsedquery_toString: +(text:[string1 TO string2]), explain: {}, QParser: ExtendedDismaxQParser Same behavior for LuceneQParser: rawquerystring: [string1 string2], querystring: [string1 string2], parsedquery: text:[string1 TO string2], parsedquery_toString: text:[string1 TO string2], explain: {}, QParser: LuceneQParser Three strings between brackets is parsed correctly by ExtendedDismaxQParser: rawquerystring: [string1 string2 string3], querystring: [string1 string2 string3], parsedquery: (+(DisjunctionMaxQuery((text:string1)) DisjunctionMaxQuery((text:string2)) DisjunctionMaxQuery((text:string3/no_coord, parsedquery_toString: +((text:string1) (text:string2) (text:string3)), explain: {}, QParser: ExtendedDismaxQParser Query examples from live search application (copy and pasted book titles): Biology of cancer. [2nd ed.] Prostate cancer principles and practice. [1st ed.] two terms in brackets interpreted as range query Key: SOLR-7874 URL: https://issues.apache.org/jira/browse/SOLR-7874 Project: Solr Issue Type: Bug Components: query parsers Affects Versions: 5.2.1 Reporter: Ryan Steinberg Queries with two strings between brackets are parsed as range queries even when missing the TO keyword. This creates performance problems from extremely expensive unintended range queries. Example: [string1 string2] rawquerystring: [string1 string2], querystring: [string1 string2], parsedquery: (+DisjunctionMaxQuery((text:[string1 TO string2])))/no_coord, parsedquery_toString: +(text:[string1 TO string2]), explain: {}, QParser: ExtendedDismaxQParser Same behavior for LuceneQParser: rawquerystring: [string1 string2], querystring: [string1 string2], parsedquery: text:[string1 TO string2], parsedquery_toString: text:[string1 TO string2], explain: {}, QParser: LuceneQParser Three strings between brackets is parsed correctly by ExtendedDismaxQParser: rawquerystring: [string1 string2 string3], querystring: [string1 string2 string3], parsedquery: (+(DisjunctionMaxQuery((text:string1)) DisjunctionMaxQuery((text:string2)) DisjunctionMaxQuery((text:string3/no_coord, parsedquery_toString: +((text:string1) (text:string2) (text:string3)), explain: {}, QParser: ExtendedDismaxQParser Query examples from live search application (copy and pasted book titles): The biology of cancer [electronic resource] Prostate cancer principles and practice. [1st ed.] -- 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