0

約 3000 レコードのテーブルに対して、従来Post.all(...)型と Sunspot の結果を比較する速度テストを実行しました。Post.search(...)どちらの場合も、読み込みに 12 秒かかります。速度の向上を除いて、すべてが機能しているようです。

環境: Ruby 1.8.7、Rails 2.3.14

Sunspot.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) 

私はかなり基本的なことを見落としていると思いますか?

4

2 に答える 2

0

3000件すべての投稿をロードしたいのはなぜですか?そのベンチマークは意味がありません。テーブル全体をロードする必要がある場合、Solrを使用していれば違いはありません。

于 2012-04-13T22:30:23.357 に答える
0

YAML では空白は重要です。auto_commit_after_request行が の下に属していてよろしいsolrですか? 開発/運用/テスト要素に該当するをいくつか 見てきました。

development:
  solr:
    hostname: localhost
    port: 8983
    log_level: INFO
  auto_commit_after_request: false
于 2012-07-27T19:13:19.627 に答える