Поиск Solr - Поиск с помощью специальных символов (&, #) - PullRequest
0 голосов
/ 20 апреля 2020

Я столкнулся с одной проблемой, связанной с поиском, содержащим текст, такой как (&, #). Когда я ищу -> Filewith & DownloadSuccessfully.docx и выбираю отладочный запрос, я вижу, что мой разобранный запрос разбивается на две части, как показано ниже, следовательно, это не дает любые результаты, и мое приложение выдает ошибку как ->

"rawquerystring":"Filewith&DownloadSuccessfully.docx",
    "querystring":"Filewith&DownloadSuccessfully.docx",
    "parsedquery":"content:filewith content:downloadsuccessfully.docx",
    "parsedquery_toString":"content:filewith content:downloadsuccessfully.docx",
    "QParser":"LuceneQParser"

Ошибка ->

 using (HttpResponseMessage response = solrClient.Value.GetAsync(urlFormat).Result)
                    {
                        using (HttpContent content = response.Content)
                        {
                            downloadString = content.ReadAsStringAsync().Result;
                        }
                    }  
//downloadString contains this error
    "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 'content:\"Filewith': Lexical error
 at line 1, column 18.  Encountered: <EOF> after : \"\\\"Filewith\"",
        "code":400}}

Я использую StandardTokenizer, и я не могу изменить его на WhiteSpaceTokenizer, так как у меня нет свободы индексировать весь производственные данные. Поэтому у меня есть только возможность изменить мой C# код на стороне клиента.

Пожалуйста, предложите?

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