Нужно ли включать экранирующий символ для косой черты (/) в поисковом значении в Solr Search? - PullRequest
0 голосов
/ 24 января 2019

Нужно ли нам включать escape-символ для косой черты (/) в поисковом значении в Solr Search

q=*:*&indent=on&wt=json&rows=0&json.facet={"log_timestamp":{"type":"query","numBuckets":false,"facet":{"log_timestamp":{"type":"terms","field":"log_timestamp","limit":5,"mincount":1,"sort":{"count":"desc"},"numBuckets":true}},"q":"log_timestamp:/.*[AA][/][Cc].*/"},"destination_code_desc":{"type":"query","numBuckets":false,"facet":{"destination_code_desc":{"type":"terms","field":"destination_code_desc","limit":5,"mincount":1,"sort":{"count":"desc"},"numBuckets":true}},"q":"destination_code_desc:/.*[AA][/][Cc].*/"}}&fq=record_type:TEST&fq=log_timestamp:[1201-12-04T05:50:35Z+TO+2017-01-01T06:00:00Z]

Вот ошибка, которую я вижу

"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 'log_timestamp:/.*[AA][/][Cc].*/': Lexical error at line 1, column 24.  Encountered: \"]\" (93), after : \"\"",
    "code":400}}

1 Ответ

0 голосов
/ 25 января 2019

Вам придется избежать этого - ваша проблема в том, что вы ищете с помощью регулярного выражения, и, так как вы используете / в качестве разделителя вашего выражения, / внутри выражения завершаетвыражение.

Вы можете убежать от символов, поставив перед ними \, но вам, возможно, придется избегать его дважды, если он не работает сам по себе, эффективно вводя \\/.Попробуйте оба.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...