2012-12-12 2 views
4

Мы используем солнечный камень Solspot в течение некоторого времени в режиме разработки. Теперь приложение необходимо перенести в производственную среду.Solr полнотекстовый поиск в производстве - что лучше солнечного пятна: solr в комплекте или автономный tomcat + solr?

Есть ли какие-либо недостатки в настройке solr в производственной среде с использованием собранного драгоценного камня солнечных пятен?

Обычно мне нравится идея tomcat + solr, но ее сложнее настроить.

Солнце в комплекте жемчужина легко. При условии, что у нас есть 1 рельсы проекта в 3 этапа (постановка, производство, QA), 2 приложения серверов и один дб/Solr сервер один должен:

  1. толчке проект рельсы сервер БД
  2. запуска Solr на БД сервер в среде с расслоением ехеса грабель пятном: Solr: старт для (мы просто используем другой порт для каждого экземпляра Solr)
  3. реиндексирует с передним пятном: Solr: переиндексации
  4. изменить sunspot.yml для сервера приложений, чтобы сделать их подключиться к серверу db на конкретном порту этапа

Выше применяется для X экземпляров производства/постановки.

Tomcat6 + Sunspot не так прост и эффективен с точки зрения времени/результата. Как я понимаю (исправить меня) один должно:

  1. Установить и поддерживать кот на дб сервере
  2. При условии, что мы хотим иметь 3 экземпляра Solr - развернуть 3 SOLR войны с отдельным solrs (или использовать многоядерный solr, который довольно сложно настроить)
  3. Разверните проект рельсов на сервере db
  4. Каждый раз, когда мы меняем нашу схему/конфигурацию/все в рельсах - нам нужно заботиться о создании solr xmls и confs и копировать его tomcat webapps
  5. Измените каталоги таким образом Л.Р. конф/XML, так что указывает на индексные файлы и т.д.
  6. Reload Solr кот экземпляра приложения на каждой рельсы развертывания, что включает в себя некоторые сценарии и «не-рельсы» подход к процедуре развертывания :)

ответ

3

я сделал что-то подобное в последнее время и должен был ответить на те же вопросы. Мое проблемное пространство выглядело как наличие двух языков (предпочтительнее двух ядер и, возможно, больше для других параметров поиска в будущем), которые должны индексировать данные по нескольким графам таблицы и поиска/подсчета, частично в иерархических структурах, таких как группы товаров и иерархические теги, такие как car_brand/модель/тип/build_year.

Насколько я знаю, солнечные пятна работают лучше всего (только), если у вас есть относительные «плоские» данные, в лучшем случае просто нужно определить для одной модели поля, которые нужно использовать. В тот момент, когда вам нужно объединить несколько моделей в один документ для граней, становится трудно. (Но поскольку я не использовал Sunspot, я не могу точно сказать). Вы можете (и должны) использовать rsolr gem для связи с Solr. Но если вы используете Sunspot в разработке, это, скорее всего, будет работать для вас в любом случае.

Для ваших деталей о котом вещи:

  1. Установка и поддержание кота на дб сервере

да, некоторые работы, но может быть обработан

  1. При условии, что мы хотим иметь 3 экземпляра solr - развернуть 3 solr-войны с отдельными solrs (или использовать многоядерный solr, который довольно сложно настроить)

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

  1. развернуть проект рельсы на сервер БД

должны делать это в любом случае :)

  1. Everytime мы меняем схемы/конфигурации/все, в рельсах - мы должны заботиться генерации solr xmls и confs и скопировать его в tomcat webapps

Да, напишите несколько сценариев. Кроме того, у вас может быть git-репо, которое содержит папки tomcat/solr и папку проекта Rails или символизирует эти папки. Я еще не нашел хорошего решения и должен время от времени копировать бит.

  1. Изменить каталоги в Solr конф/XML, так что указывает на индексные файлы и т.д.

да, некоторые ссылки могут помочь сохранить вещи легко

  1. Reload кота SOLR экземпляра приложения на каждом рейке развертывается то, что включает в себя некоторые сценарии и «не-рельсы» подход к процедуре развертывания :)

Только если деп loy фактически изменяет все, что связано с вашим поиском. Есть несколько сценариев. Есть решения для развертывания Rails, которые помогут, но поскольку я не против делать несколько вещей вручную, я не стал устанавливать их.

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

+0

Это решение показано здесь: http://internetmodulation.com/2011/01/10/sunspot-solr-tomcat-ubunut.html.html – wojciechz