Только один Apache Solr для поиска в нескольких / междоменных CMS?
Возможно ли использование одного экземпляра Solr в нескольких приложениях, кросс-доменах? Как несколько CMS, таких как Wordpress + Joomla + Drupal. Любой поиск из любого места должен отображать результаты всех подключенных приложений.
Например:
Если я ищу слово marketing
с сайта Wordpress, он должен выводить результаты самого Wordpress, а также содержимое сайтов Joomla и Drupal.
Является ли это возможным?
2 ответа
Конечно, вы просто должны убедиться, что индексация для всех различных сайтов сотрудничает для обеспечения совместимых поисковых данных. Как именно вы этого достигнете - сложная тема, которая лучше подходит для SO (так как это вопрос программирования).
В вашем случае нет ничего, что сильно отличало бы его от настройки "одного домена". Solr работает как служба REST, поэтому для индексирования контента все, что вам нужно сделать, это предоставить доступ из разных доменов. Для массового импорта (например, из БД или CSV) мы используем DataImportHandler.
Если вы хотите использовать фасеты для доменных баз (сузить результаты поиска по одному или нескольким доменам, используя флажки после того, как результаты уже отображаются), и у вас есть, например, объект статьи, который вы хотите проиндексировать, поверх его обычных атрибутов (Solr поля, такие как Body, Author, Date, ...), вы должны добавить дополнительное поле, которое будет представлять его домен.
Для настройки безопасности (кто может видеть документ) я бы использовал ManifoldCF, который знает, как работать с Solr "из коробки".
Если вы только начинаете с Solr, я предлагаю вам сначала пройти этот урок, который является отличной отправной точкой для понимания концепций Solr (и общей поисковой системы).