its breaking on the & because its in the url and you are most likely sending a get request to solr. you should send it as post or as %26
On Mon, Nov 25, 2019 at 2:32 PM rhys J <rhyssha...@gmail.com> wrote: > I have some fields that have text like so: > > Reliable Van & Storage. > > They indexed fine when I used curl and csv files to read them into the > core. > > Now when I try to query for them, I get errors. > > If I try escaping it like so \&, I get the following error: > > on_data({ > "responseHeader":{ > "status":400, > "QTime":1, > "params":{ > "q":"name1:( reliable van \\", > "core":"dbtr", > "json.wrf":"on_data", > "hl":"true", > "indent":"on", > "start":"0", > "stor )":"", > "callback":"?", > "rows":"50", > "version":"2.2", > "wt":"json"}}, > "error":{ > "metadata":[ > "error-class","org.apache.solr.common.SolrException", > "root-error-class","org.apache.solr.parser.TokenMgrError"], > "msg":"org.apache.solr.search.SyntaxError: Cannot parse 'name1:( > reliable van \\': Lexical error at line 1, column 23. Encountered: > <EOF> after : \"\"", > "code":400}}) > > If I try html encoding it like so: & I get the following error: > > > > on_data({ > "responseHeader":{ > "status":400, > "QTime":3, > "params":{ > "q":"name1:( reliable van ", > "core":"dbtr", > "json.wrf":"on_data", > "hl":"true", > "indent":"on", > "amp; stor )":"", > "start":"0", > "callback":"?", > "rows":"50", > "version":"2.2", > "wt":"json"}}, > "error":{ > "metadata":[ > "error-class","org.apache.solr.common.SolrException", > "root-error-class","org.apache.solr.parser.ParseException"], > "msg":"org.apache.solr.search.SyntaxError: Cannot parse 'name1:( > reliable van ': Encountered \"<EOF>\" at line 1, column 21.\nWas > expecting one of:\n <AND> ...\n <OR> ...\n <NOT> ...\n > \"+\" ...\n \"-\" ...\n <BAREOPER> ...\n \"(\" ...\n \")\" > ...\n \"*\" ...\n <QUOTED> ...\n <TERM> ...\n <PREFIXTERM> > ...\n <WILDTERM> ...\n <REGEXPTERM> ...\n \"[\" ...\n > \"{\" ...\n <LPARAMS> ...\n \"filter(\" ...\n <NUMBER> ...\n > ", > "code":400}}) > > > How can I search for a field that has an & without breaking the > parser, or is it not possible because & is used as a special > character? > > Thanks, > > Rhys >