Я пытаюсь найти документы, содержащие звездочки/знаки запроса в текстовом поле Solr, используя парсер Edismax. Все работает отлично, когда я ищу обычный текст (fq={!edismax}textfield:*sometext*
) или даже любой другой специальный символ Lucene с экранированием (fq={!edismax}textfield:*\~*
).
Однако при поиске *
(fq={!edismax}textfield:*\**
) или ?
(fq={!edismax}textfield:*\?*
) эти символы не экранируются, поскольку возвращаются все документы. Я также пробую кодирование URL для экранированных символов (например, \%2A
вместо \*
), однако результат то же самое.
Проблема, по-видимому, касается только ведущих подстановочных знаков, поскольку fq={!edismax}textfield:\**
и fq={!edismax}textfield:\?*
возвращают правильные результаты, а fq={!edismax}textfield:*\*
и fq={!edismax}textfield:*\?
— нет (а также fq={!edismax}textfield:*sometext\*
и т. д.).
Как можно искать *
/?
с помощью Edismax с подстановочным знаком звездочки в начале?