Использование 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