Я работаю над проектом обновления с Rails 2 -> 3. Мы удаляем Ultrasphinx (который не поддерживается в Rails 3) и заменяем его ThinkingSphinx.Одна проблема - тесты Cucumber для поиска, которые использовал для работы, не работают, поскольку ThinkingSphinx не индексирует файлы в тестовом режиме.
Это релевантная часть env.rb:
require 'cucumber/thinking_sphinx/external_world'
Cucumber::ThinkingSphinx::ExternalWorld.new
Cucumber::Rails::World.use_transactional_fixtures = false
И вот шаг (объявленный в моем файле common_steps.rb), который индексирует мои объекты:
Given /^ThinkingSphinx is indexed$/ do
puts "Indexing the new database objects"
# Update all indexes
ThinkingSphinx::Test.index
sleep(0.25) # Wait for Sphinx to catch up
end
И это то, что у меня есть в моем файле .feature (послеобъекты модели созданы)
And ThinkingSphinx is indexed
Это вывод ThinkingSphinx, когда он запускается в тестовом режиме (это НЕПРАВИЛЬНО, он должен находить документы, но это не так)
Sphinx 0.9.9-release (r2117)
Copyright (c) 2001-2009, Andrew Aksyonoff
using config file 'C:/Users/PaulG/Programming/Projects/TechTV/config/test.sphinx.conf'...
indexing index 'collection_core'...
collected 0 docs, 0.0 MB
total 0 docs, 0 bytes
total 0.027 sec, 0 bytes/sec, 0.00 docs/sec
distributed index 'collection' can not be directly indexed; skipping.
indexing index 'video_core'...
collected 0 docs, 0.0 MB
total 0 docs, 0 bytes
total 0.018 sec, 0 bytes/sec, 0.00 docs/sec
distributed index 'video' can not be directly indexed; skipping.
total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
total 8 writes, 0.000 sec, 0.1 kb/call avg, 0.0 msec/call avg
rotating indices: succesfully sent SIGHUP to searchd (pid=4332).
Для сравнения, это вывод, который я получаю при запуске
rake ts:index
Для индексации среды разработки:
Sphinx 0.9.9-release (r2117)
Copyright (c) 2001-2009, Andrew Aksyonoff
using config file 'C:/Users/PaulG/Programming/Projects/TechTV/config/development.sphinx.conf'...
indexing index 'collection_core'...
collected 4 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 4 docs, 39 bytes
total 0.031 sec, 1238 bytes/sec, 127.04 docs/sec
distributed index 'collection' can not be directly indexed; skipping.
indexing index 'video_core'...
collected 4 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 4 docs, 62 bytes
total 0.023 sec, 2614 bytes/sec, 168.66 docs/sec
distributed index 'video' can not be directly indexed; skipping.
total 10 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
total 20 writes, 0.001 sec, 0.1 kb/call avg, 0.0 msec/call avg
rotating indices: succesfully sent SIGHUP to searchd (pid=5476).
Обратите внимание, как на самом деле он находит документы в моей базе данных разработки, но не в моейтестовая база данных.Индексатор работает в dev, но не тестирует?Я потратил 2 дня на это, и я не ближе к решению.Любая помощь будет оценена в подавляющем большинстве случаев.