Запуск Sunspot в производстве

Я использую Rails 3.1 в производстве на Ubuntu 10.4 LTS и с mongoid. Я также устанавливаю tomcat6 и solr через это руководство. Все отлично работает, но я не уверен, что я настроил его лучше всего. Я отключил auto_commit_after_request в моем запросе sunspot.yml, о котором говорилось здесь .

Я также раскомментировал раздел автоматической фиксации в моем solrcongif.xml. Просто кажется, что обновления проиндексированных записей занимают немного больше времени, чем обновления неиндексированных записей. Есть ли способ проверить, действительно ли auto_commit_after_request отключен?

Кроме того, когда я проверяю страницу анализа в solr, обновленные модели кажутся дважды проиндексированными (я могу это сказать, потому что данных еще не так много). Итак, у меня есть одна модель с ключевым словом, но в индексе указано, что есть 3 экземпляра слова (один для создания и два обновления, которые я сделал на монделе). Это нормально? Просто кажется, что это создаст перекос в сторону часто обновляемых моделей, но также увеличит размер индекса.

Ниже мой файл config/sunspot.yml. При необходимости я также могу опубликовать файл solrconfig.xml, но он большой, поэтому я его пока не публикую. Есть ли какое-нибудь руководство по настройке солнечных пятен для производства? Спасибо!

production:
  solr:
    hostname: localhost
    port: 8080
    log_level: WARNING
    path: '/solr'
    auto_commit_after_request: false

development:
  solr:
    hostname: localhost
    port: 8982
    log_level: INFO

test:
  solr:
    hostname: localhost
    port: 8981
    log_level: WARNING

person Chris Slade    schedule 05.11.2011    source источник


Ответы (1)


Тут целая куча вопросов.

Большая часть вашей настройки производительности будет выполняться на SOlr, а не на Sunspot, который является просто интерфейсом для Solr. См. http://wiki.apache.org/solr/SolrPerformanceFactors. Как вы заметили, когда вы фиксируете и выполняется ли это в фоновом режиме, это может повлиять на производительность вашего приложения.

Обновления в Solr (Lucene) фактически работают, удаляя старый объект и добавляя его снова. Это может быть причиной того, что вы заметили разницу в скорости.

Обновление не будет добавлять термины в индекс несколько раз. Вы должны наблюдать что-то еще. Если вы использовали один и тот же индекс для разработки, иногда вы могли видеть, что старые имена полей загрязняют индекс; попробуйте удалить весь индекс (фактическая папка индекса на диске) и начать заново;

person s01ipsist    schedule 11.04.2013