Использование Solr на нескольких CMS

У меня есть сайт eZ Publish и Magento на двух разных серверах и один сервер Solr. Сервер Solr теперь используется в качестве поисковой системы для eZ Publish, но я также хотел бы использовать тот же Solr-сервер на Magento.

eZ Publish поставляется с расширением (eZFind), которое содержит schema.xml, и я получил его прямо из коробки без какой-либо настройки (кроме определения Solr-сервера, пользователя, пароля и т. д.).

Magento поставляется с schema.xml и solrconfig.xml, которые в соответствии с документацией необходимо скопировать на Solr-сервер.

Я немного боюсь этого, так как не хочу прерывать поиск в eZ Publish.

У кого-нибудь есть опыт с этим или есть какие-либо рекомендации по настройке Solr?

2 ответа

Решение

Вам нужно использовать многоядерную функцию Solr (см. Там), чтобы у вас был только один экземпляр Solr, обслуживающий 2 ядра (как минимум). Что это значит? Каждое ядро ​​будет определено минимум двумя файлами (schema.xml а также solrconfig.xml), которая будет находиться в специальных папках в вашей установке Solr. Затем ядра должны быть зарегистрированы в файле с именем solr.xml который в вашем случае может выглядеть так:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true" sharedLib="lib">
    <cores adminPath="/admin/cores">
         <core name="ezpublish" instanceDir="ezpublish" />
         <core name="magento" instanceDir="magento" />
    </cores>
</solr>

Если ваша текущая установка solr по-прежнему находится в расширении eZ Find, вам следует взглянуть на эту страницу, которая расскажет вам, как переместить связанную установку Solr за пределы eZ Publish. Затем добавьте новое ядро ​​с файлами конфигурации Magenta.

В зависимости от версии Solr, которую вы используете, я бы порекомендовал установить Solr самостоятельно (без выбора версии для eZ Find) и применить к ней конфигурацию eZ Publish.

Вы можете использовать многоядерную функцию solr, которая позволяет размещать несколько индексов, каждый со своей собственной схемой и каждый из которых имеет свой собственный URL (http://localhost:8983/solr/ezpublish/ а также http://localhost:8983/solr/magento).

В eZPublish есть учебное пособие о том, как это сделать: http://doc.ez.no/Extensions/eZ-Publish-extensions/eZ-Find/eZ-Find-2.7/Advanced-Configuration/Using-multi-core-features

Все, что вам нужно было сделать, это скопировать ваш magento config

Другие вопросы по тегам