[jira] [Issue Comment Deleted] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND

2016-04-27 Thread Ryan Steinberg (JIRA)

 [ 
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

2016-04-26 Thread Ryan Steinberg (JIRA)

[ 
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

2016-03-30 Thread Ryan Steinberg (JIRA)

[ 
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

2016-03-09 Thread Ryan Steinberg (JIRA)

[ 
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

2016-03-09 Thread Ryan Steinberg (JIRA)
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

2015-08-05 Thread Ryan Steinberg (JIRA)
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

2015-08-05 Thread Ryan Steinberg (JIRA)

 [ 
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