Запуск Solr в режиме только для чтения - PullRequest
6 голосов
/ 03 сентября 2010

Я думаю, что мне здесь не хватает чего-то очевидного.Я должен представить, что многие люди открывают свои серверы Solr для других разработчиков и не хотят, чтобы они могли изменять индекс.

Есть ли что-то в solrconfig.xml, которое можно настроить для эффективного созданияиндекс только для чтения?

Обновление для уточнения: Моя цель - использовать Solr с существующим индексом Lucene, управляемым другим приложением.Это прекрасно работает, но я хочу убедиться, что Solr никогда не пытается записать в этот индекс.

Ответы [ 2 ]

7 голосов
/ 04 сентября 2010

Публикация экземпляра Solr в публичном Интернете - плохая идея. Несмотря на то, что вы можете лишить некоторые компоненты доступа только для чтения, он просто не был разработан с учетом безопасности, он предназначен для использования в качестве внутренней службы, точно так же, как вы не представляете СУБД.

Со страницы Solr Security :

Во-первых, Солр не заботиться о безопасности либо в уровень документа или уровень общения. Это сильно рекомендовал приложение сервер, содержащий Solr быть огненным такие единственные клиенты с доступом к Solr ваши. По умолчанию / пример установка Solr позволяет любому клиенту с доступом к нему, чтобы добавить, обновить и удалить документы (и конечно поиск / чтение тоже), включая доступ к конфигурация и схема Solr файлы и административный пользователь интерфейс.

Even ajax-solr , клиент Solr для javascript, предназначенный для работы в браузере, рекомендует общаться с Solr через прокси .

Взять, к примеру, guardian.co.uk : общеизвестно, что они используют Solr для поиска , но они создали API , чтобы позволить другим доступ их содержание. Таким образом, они могут определять и контролировать точно, что и как они хотят, чтобы люди искали.

В противном случае любой скрипт-детище может написать тривиальный цикл для DoS вашего экземпляра Solr и, следовательно, отключить ваш сайт.

2 голосов
/ 03 сентября 2010

Вероятно, вы можете просто удалить строку, которая определяет ваш solr.XmlUpdateRequestHandler в solrconfig.xml.

Репликация - это хороший способ настроить доступ только для чтения при возможности индексации. Просто настройте мастер с ограниченным доступом и ведомого, который доступен только для чтения (удалив ваш XmlUpdateRequestHandler из конфигурации). Ведомое устройство будет реплицировано с главного устройства, но не будет напрямую принимать индексацию.

UPDATE

Я только что прочитал, что в Solr 1.4 вы можете отключить компонент . Я только что попробовал это на / update requestHandler и больше не смог индексировать.

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