测试期间的太阳黑子重新索引会消除开发索引

时间:2017-07-26 10:39:11

标签: ruby-on-rails-4 rspec-rails sunspot sunspot-rails sunspot-solr

我正在开发一个搜索API,它使用Sunspot进行索引,使用Rspec进行测试。

我对我的搜索控制器进行了测试:

  context 'when doing a simple search', :type => :request do
    let!(:instance_of_my_model) { create(:instance_of_my_model) }
    it 'return the correct results' do
      MyModel.reindex

     # some test code with a GET request
    end
  end

为了运行测试,我首先推出了solr服务器:

rake sunspot:solr:start RAILS_ENV=test

运行测试后,我停止solr服务器并在开发环境中再次运行它。搜索不再有效。

如果我重新索引,它会再次起作用:

rake sunspot:reindex

(自从我有10M +条目后约1小时)

为什么会这样?

有关信息,请参阅/config/sunspot.yml:

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

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

1 个答案:

答案 0 :(得分:1)

经过一番搜索后,这个回答是:Reindex on sunspot rails 让我知道。

我的sunspot.yml应该是:

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


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