Je travaille sur une API de recherche qui utilise Sunspot pour l'indexation et Rspec pour les tests.Réindexation de taches solaires pendant les tests d'indexation de développement
J'ai un test pour mon contrôleur de recherche:
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
Pour l'exécution des tests, je commence par mise à l'eau le serveur Solr:
rake sunspot:solr:start RAILS_ENV=test
Après avoir exécuté mon test, j'arrêter le serveur Solr et l'exécuter à nouveau dans un environnement de développement. La recherche ne fonctionne plus.
Il fonctionne à nouveau si je commande REINDEX:
rake sunspot:reindex
(~ 1 heure depuis que j'ai 10M + entrées)
Pourquoi est-ce qui se passe?
Pour plus d'informations, mon /config/sunspot.yml:
development:
solr:
hostname: localhost
port: 8982
log_level: INFO
test:
solr:
hostname: localhost
port: 8981
log_level: WARNING