Re: Parsing exception when passed defType complexphrase vs. local parameters?

2018-02-28 Thread Dawid Weiss
Yeah, this is SOLR-11501 -- I missed this change somehow. I will
update the tests; they assume people could tweak local parameters for
a query parser. Thanks for pointing me at the right issue!

D.

On Wed, Feb 28, 2018 at 3:56 PM, David Smiley  wrote:
> Yeah this is almost certainly SOLR-11501.  I bet you have defType=edismax or
> something.  Essentially, the reason being is if you set defType=whatever
> then your query should be using that query parser and not something embedded
> into 'q' (i.e. the user shouldn't be able to change it).  So either unset
> defType if you would prefer to send 'q' with the query parser in
> local-params, or go the other way and set defType=complexphrase.  If you
> must set local-param only options (e.g. inOrder might be; not sure) then
> you'll have to go with setting it via 'q'.  Does that make sense?
>
> (BTW this is a solr-user list question).
>
> On Wed, Feb 28, 2018 at 9:39 AM Christine Poerschke (BLOOMBERG/ LONDON)
>  wrote:
>>
>> Hi Dawid,
>>
>> The symptoms you mention sound similar to the SOLR-11809 symptoms and the
>> SOLR-11501 changes are probably the 'mysterious' change you might have been
>> looking for?
>>
>> Christine
>>
>> - Original Message -
>> From: dev@lucene.apache.org
>> To: dev@lucene.apache.org
>> Cc: m...@apache.org
>> At: 02/28/18 14:06:05
>>
>> I am in the process of upgrading from Solr 6.x to 7.2.1 and one of the
>> tests does query for:
>>
>> {!complexphrase inOrder=false}"(foo1 foo2) ba*"
>>
>> This works just fine. Another test specifies the query parser using
>> defType=complexphrase and this query no longer parses:
>>
>> {!inOrder=false}"(foo1 foo2) ba*"
>>
>> Resulting in an exception on the server:
>>
>> 2018-02-28 13:55:36.749 ERROR (qtp581374081-50) [   x:proposals]
>> o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException:
>> org.apache.solr.search.SyntaxError:
>> org.apache.lucene.queryparser.classic.ParseException: Cannot parse
>> '{!inOrder=false} "(foo1 foo2) ba*"': Encountered " "}" "} "" at line
>> 1, column 15.
>> Was expecting:
>> "TO" ...
>>
>> at
>> org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:218)
>> ...
>>
>> Caused by: org.apache.solr.search.SyntaxError:
>> org.apache.lucene.queryparser.classic.ParseException: Cannot parse
>> '{!inOrder=false} "(foo1 foo2) ba*"': Encountered " "}" "} "" at line
>> 1, column 15.
>> Was expecting:
>> "TO" ...
>>
>> at
>> org.apache.solr.search.ComplexPhraseQParserPlugin$ComplexPhraseQParser.parse(ComplexPhraseQParserPlugin.java:166)
>>
>> Anybody cares to tell me why is this a difference? Last significant
>> commit to ComplexPhraseQParser was from Mikhail... but how does
>> passing the query parser make a difference here?
>>
>> Dawid
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>
> --
> Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker
> LinkedIn: http://linkedin.com/in/davidwsmiley | Book:
> http://www.solrenterprisesearchserver.com

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



Re: Parsing exception when passed defType complexphrase vs. local parameters?

2018-02-28 Thread David Smiley
Yeah this is almost certainly SOLR-11501.  I bet you have defType=edismax
or something.  Essentially, the reason being is if you set defType=whatever
then your query should be using that query parser and not something
embedded into 'q' (i.e. the user shouldn't be able to change it).  So
either unset defType if you would prefer to send 'q' with the query parser
in local-params, or go the other way and set defType=complexphrase.  If you
must set local-param only options (e.g. inOrder might be; not sure) then
you'll have to go with setting it via 'q'.  Does that make sense?

(BTW this is a solr-user list question).

On Wed, Feb 28, 2018 at 9:39 AM Christine Poerschke (BLOOMBERG/ LONDON) <
cpoersc...@bloomberg.net> wrote:

> Hi Dawid,
>
> The symptoms you mention sound similar to the SOLR-11809 symptoms and the
> SOLR-11501 changes are probably the 'mysterious' change you might have been
> looking for?
>
> Christine
>
> - Original Message -
> From: dev@lucene.apache.org
> To: dev@lucene.apache.org
> Cc: m...@apache.org
> At: 02/28/18 14:06:05
>
> I am in the process of upgrading from Solr 6.x to 7.2.1 and one of the
> tests does query for:
>
> {!complexphrase inOrder=false}"(foo1 foo2) ba*"
>
> This works just fine. Another test specifies the query parser using
> defType=complexphrase and this query no longer parses:
>
> {!inOrder=false}"(foo1 foo2) ba*"
>
> Resulting in an exception on the server:
>
> 2018-02-28 13:55:36.749 ERROR (qtp581374081-50) [   x:proposals]
> o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException:
> org.apache.solr.search.SyntaxError:
> org.apache.lucene.queryparser.classic.ParseException: Cannot parse
> '{!inOrder=false} "(foo1 foo2) ba*"': Encountered " "}" "} "" at line
> 1, column 15.
> Was expecting:
> "TO" ...
>
> at
> org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:218)
> ...
>
> Caused by: org.apache.solr.search.SyntaxError:
> org.apache.lucene.queryparser.classic.ParseException: Cannot parse
> '{!inOrder=false} "(foo1 foo2) ba*"': Encountered " "}" "} "" at line
> 1, column 15.
> Was expecting:
> "TO" ...
>
> at
> org.apache.solr.search.ComplexPhraseQParserPlugin$ComplexPhraseQParser.parse(ComplexPhraseQParserPlugin.java:166)
>
> Anybody cares to tell me why is this a difference? Last significant
> commit to ComplexPhraseQParser was from Mikhail... but how does
> passing the query parser make a difference here?
>
> Dawid
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>
> --
Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker
LinkedIn: http://linkedin.com/in/davidwsmiley | Book:
http://www.solrenterprisesearchserver.com


Parsing exception when passed defType complexphrase vs. local parameters?

2018-02-28 Thread Dawid Weiss
I am in the process of upgrading from Solr 6.x to 7.2.1 and one of the
tests does query for:

{!complexphrase inOrder=false}"(foo1 foo2) ba*"

This works just fine. Another test specifies the query parser using
defType=complexphrase and this query no longer parses:

{!inOrder=false}"(foo1 foo2) ba*"

Resulting in an exception on the server:

2018-02-28 13:55:36.749 ERROR (qtp581374081-50) [   x:proposals]
o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException:
org.apache.solr.search.SyntaxError:
org.apache.lucene.queryparser.classic.ParseException: Cannot parse
'{!inOrder=false} "(foo1 foo2) ba*"': Encountered " "}" "} "" at line
1, column 15.
Was expecting:
"TO" ...

at 
org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:218)
...

Caused by: org.apache.solr.search.SyntaxError:
org.apache.lucene.queryparser.classic.ParseException: Cannot parse
'{!inOrder=false} "(foo1 foo2) ba*"': Encountered " "}" "} "" at line
1, column 15.
Was expecting:
"TO" ...

at 
org.apache.solr.search.ComplexPhraseQParserPlugin$ComplexPhraseQParser.parse(ComplexPhraseQParserPlugin.java:166)

Anybody cares to tell me why is this a difference? Last significant
commit to ComplexPhraseQParser was from Mikhail... but how does
passing the query parser make a difference here?

Dawid

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org