Thanks Christine. Unfortunately the change of parser doesn't seem to help
either because the replacement of ` with " happens in the
StreamExpressionParser itself (
https://github.com/apache/solr/blob/main/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExpressionParser.java#L138
), before sending to the handler (/qt).

It should ideally honor escaping for backtick and treat it as part of the
token which it currently doesn't and that's the bug. I can submit a fix for
this. Should I open a JIRA?

Thanks,
Rahul

On Tue, Feb 27, 2024 at 6:58 AM Christine Poerschke (BLOOMBERG/ LONDON) <
cpoersc...@bloomberg.net> wrote:

> Hi Rahul,
>
> https://issues.apache.org/jira/browse/SOLR-15546 is a little bit similar
> in symptoms but different part of the code base, so probably no help here.
>
> I wonder if use of a different query parser might potentially provide a
> workaround e.g.
>
> q="{!xmlparser}<TermQuery fieldName='My_Field'>Foto`s</TermQuery>"
>
> or something like that;
> https://solr.apache.org/guide/solr/latest/query-guide/other-parsers.html#xml-query-parser
> has more info about the xmlparser.
>
> Best wishes,
> Christine
>
> From: users@solr.apache.org At: 02/26/24 04:54:40 UTCTo:
> users@solr.apache.org
> Subject: Backtick character in field data breaks streaming query
>
> Hello,
> I am running Solr 8.11.1 and running into an issue with stream api. Looks
> like searches break when the data contains the backtick character( ` ).
> Eg:
> http://host-name:8983/solr/MyCollection/stream?expr=search(MyCollection,q=
> "My_Fi
> eld:Foto`s",fl="field1",qt="/export")
> <
> http://pidx.idcprodcert.loc:20000/solr/sharepointindex_036DE237-A69B-4E7E-929E-
>
> 62C2AB7A7323_multinode/stream?expr=search(sharepointindex_036DE237-A69B-4E7E-929
> E-62C2AB7A7323_multinode,q=%22slevel_Url_8:Fotos%22,fl=%22contentid%22)
> <http://pidx.idcprodcert.loc:20000/solr/sharepointindex_036DE237-A69B-4E7E-929E-62C2AB7A7323_multinode/stream?expr=search(sharepointindex_036DE237-A69B-4E7E-929E-62C2AB7A7323_multinode,q=%22slevel_Url_8:Fotos%22,fl=%22contentid%22)>
> >
>
> Upon further investigation, found that the below change was introduced in
> Solr 8.5 to replace ` with " in StreamExpressionParser which is the root
> cause.
>
>
> https://github.com/apache/solr/blob/main/solr/solrj-streaming/src/java/org/apach
> e/solr/client/solrj/io/stream/expr/StreamExpressionParser.java#L138
> <https://github.com/apache/solr/blob/main/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExpressionParser.java#L138>
>
> Associated JIRA:
> https://issues.apache.org/jira/browse/SOLR-14139
>
> Is there a workaround to get the streaming query working? This is across
> multiple shards so I can't use /export directly.
>
> If there is no workaround, in my humble opinion, this seems like a breaking
> change and should be considered for rolling back, or the
> implementation should be rethought.
>
> Thanks,
> Rahul
>
>
>

Reply via email to