Решите вопросы, касающиеся разрешения обработчика и выхода из него - PullRequest
0 голосов
/ 10 января 2011

У меня есть пара вопросов относительно использования Solr:

  1. Некоторые запросы могут быть отправлены по разным путям (обработчикам?).Например, компонент MoreLikeThis можно отправить либо в / select, либо в /mlt.

. Я нашел эти две ссылки в вики Solr:

http://localhost:8983/solr/mlt?q=id:UTF8TEST&mlt.fl=manu,cat&mlt.mindf=1&mlt.mintf=1&mlt.match.include=false

http://localhost:8983/solr/select?q=apache&mlt=true&mlt.fl=manu,cat&mlt.mindf=1&mlt.mintf=1&fl=id,score

В чем причина этой настройки?Если я решу отправить свои запросы MoreLikeThis в / mlt, значит ли это, что я не смогу использовать какие-либо / выбрать конкретные вызовы - если есть даже такая вещь - например, фасеты -?Если нет, можно ли настроить путь / select для обработки всех запросов от проверки орфографии до кластеризации?

  1. Как избежать экранирования двухсимвольных специальных строк (&&, ||) в Lucene?

http://lucene.apache.org/java/2_9_1/queryparsersyntax.html#Escaping+Special+Characters

Я экранирую только первый символ (\ &&) или мне экранируют оба?И когда мне нужно бежать от них?Несколько тестов, которые я выполнил на примере сервера, предоставленного в пакете Solr, были неокончательными:

http://localhost:8983/solr/select/?q=manu:%22apple%20%26%26%22%20AND%20manu:%22computer%22

Все еще возвращает результаты,

1 Ответ

3 голосов
/ 10 января 2011

1) Обоснование MoreLikeThisHandler объясняется в Solr wiki :

Когда вам конкретно нужна информация о похожих документах вы можете использовать MoreLikeThisHandler.

Если вы хотите отфильтровать подобное результаты, предоставленные MoreLikeЭто у вас есть использовать MoreLikeThisHandler. Это рассмотрим аналогичный документ результат, установленный как основной, так будет применить указанные фильтры (FQ) на Это. Если вы используете MoreLikeThisComponent и применить запрос фильтры будут применяться к набор результатов, возвращаемый основным запросом (QueryComponent), а не к одному возвращено MoreLikeThisComponent.

2) Вам нужно экранировать каждый отдельный символ.

...