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
