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]
