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 <[email protected]> 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)
> <[email protected]> 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: [email protected]
>> To: [email protected]
>> Cc: [email protected]
>> 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: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
> --
> Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker
> LinkedIn: http://linkedin.com/in/davidwsmiley | Book:
> http://www.solrenterprisesearchserver.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to