solr4 — Как избежать специальных символов в Apache solr в переполнении стека

Я хочу экранировать специальный символ из этого запроса Solr

Стрингфилд: / «имя»: «Elan» /.

Я пробую это
Стрингфилд: / \».название.\ «: \».Elan.\ «/
но это не работает. Есть ли другие способы решить эту проблему?

0

Решение

Я до сих пор не понимаю твои настройки, но, думаю, ты слишком сбегаешь. И запрос в вашем вопросе выглядит странно в отношении адресации полей.

Запрос фильтра должен состоять только из field:valueне field1:field2:value или что-то…

В качестве подсказки попробуйте собрать URL вручную и заставить его работать. Или используйте пользовательский интерфейс Solr Admin, где вы можете собрать свой запрос на основе формы. Вы также получите URL запроса оттуда.

Вы пытались напечатать URL, который вы собрали в своем коде PHP, и вызвать его вручную?

URL вашего запроса должен выглядеть просто так:

http://localhost:8983/solr/mycore/select?q=*&fq=myfield:"myvalue"

или URL-экранированный:

http://localhost:8983/solr/mycore/select?q=*&fq=myfield%3A%22myvalue%22

Я думаю, ваш код PHP должен выглядеть так:

$solrq .= '&fq=stringfield:"' . urlencode($_POST['name']) . '"';

где $_POST['name'] надеюсь, просто Elan,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]