Нет ошибок, но нет увеличения скорости при использовании камней солнечных пятен

Я провел тесты скорости, сравнивая результаты между традиционным Post.all(...) и Post.search(...) Sunspot с таблицей, содержащей около 3000 записей. В обоих случаях загрузка занимает 12 секунд. Вроде все работает, кроме улучшения скорости.

Окружение: Руби 1.8.7, Рельсы 2.3.14

Солнечное пятно.yml:

production:
  solr:
    hostname: localhost
    port: 8984
    log_level: FINEST
    auto_commit_after_request: false

development:
  solr:
    hostname: localhost
    port: 8982
    log_level: INFO
    auto_commit_after_request: false
test:
  solr:
    hostname: localhost
    port: 8981
    log_level: WARNING
    auto_commit_after_request: false

Gemfile:

gem "rsolr", "0.12.1"
gem "sunspot", "1.2.1"
gem "sunspot_solr", "1.3.1"
gem "sunspot_rails", "1.2.1"

Контроллер:

 @users = User.search do
    with :client_id, current_user.client.id
    paginate :page => params[:page] if params[:page]
    paginate :page => 1 if not params[:page]
    paginate :per_page => PAGINATION_COUNT
 end

Вид:

concat will_paginate(@users) 

Я подозреваю, что упустил что-то очень фундаментальное?


person iamtoc    schedule 13.04.2012    source источник
comment
Сервер Solr был запущен, перезапущен и переиндексирован. Размеры файлов в папке solr корня рельсов указывают на то, что индексация прошла успешно, как я полагаю? Хотя скорость одинаковая.   -  person iamtoc    schedule 14.04.2012


Ответы (2)


Зачем вам загружать все 3000 постов? Этот ориентир не имеет смысла. Если вам нужно загрузить всю таблицу, это не будет иметь никакого значения, если вы используете Solr.

person aledalgrande    schedule 13.04.2012
comment
Я совершенно не хочу загружать всю таблицу. Я думал, что это и есть разбиение на страницы. Что я могу сделать, чтобы загрузить только 30 записей на страницу на PAGINATION_COUNT. Судя по всему, скачивает все что есть в таблице. Когда will_paginate не решил эту проблему, я обратился к солнечному пятну. Как я уже сказал, я не понимаю чего-то очень фундаментального. - person iamtoc; 14.04.2012
comment
Вы говорите, что в первом случае загрузка страницы с 30 записями занимает 12 секунд: вы используете will_paginate для разбиения на страницы с помощью activerecord? Вы также можете использовать его в сочетании с Solr. - person aledalgrande; 14.04.2012
comment
Те же результаты с разбиением на страницы Solr. - person iamtoc; 14.04.2012

Пробелы важны в YAML. Вы уверены, что строка auto_commit_after_request относится к строке solr? Я видел несколько примеры, где это относится к элементу разработки/производства/тестирования:

development:
  solr:
    hostname: localhost
    port: 8983
    log_level: INFO
  auto_commit_after_request: false
person George Armhold    schedule 27.07.2012