Экранированные звездочка / знак запроса не экранируются при использовании подстановочного знака в Edismax - PullRequest
2 голосов
/ 02 апреля 2012

Я пытаюсь найти документы, содержащие звездочки / метки запроса в текстовом поле 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 с символом подстановки звездочки?

1 Ответ

0 голосов
/ 04 апреля 2012

Цитирование звездочки у меня работает. Этот запрос находит две книги в моем указателе с отдельной звездочкой в ​​заголовке:

title:"*"

Вот название одного из них: «Будь * Знай * Делай, адаптировано из Официального Руководства Армейского Лидерства".

Я использую edismax с Solr 3.3.

...