ThinkingSphinx, использующий RSpec, ошибка: «Не удалось запустить searchd daemon».

#ruby-on-rails #ruby #thinking-sphinx

#ruby-on-rails #ruby #мышление-сфинкс

Вопрос:

У меня проблема с запуском Sphinx в тесте

Как это было показано в примере ThinkingSphinx

Я начинаю тест с ThinkingSphinx::Test.start и заканчиваю ThinkingSphinx::Test.stop

Раздел head тестового файла содержит

требуется ‘thinking_sphinx /test’

ThinkingSphinx::Test.init

Ошибка заключается в

Не удалось запустить демон searchd. Проверьте …searchd.log.

Вы знакомы с этим?

Спасибо!

Ответ №1:

Вы используете Sphinx уже в разработке? И если да, есть ли у вас другая настройка порта для тестовой среды в config/sphinx.yml ? Если нет, то вам нужно будет сделать это, чтобы убедиться, что у вас могут быть запущены два демона одновременно.

Комментарии:

1. отлично, теперь он запускается, но не работает. Сфинкс не видит новые записи. У меня есть ThinkingSphinx::Test.start в начале теста, ThinkingSphinx::Test.stop в конце и ThinkingSphinx::Test.index после добавления. Но в отладчике Sphinx не видит новых записей

2. на самом деле, когда я вставляю новые записи в раздел describe перед all, Sphinx работает иначе, не

3. Используете ли вы транзакции? Поскольку Sphinx работает как отдельный процесс, вы не можете использовать транзакции в тестах, использующих Sphinx.

4. То есть вы не можете использовать транзакционные приспособления (сами транзакции являются неотъемлемой частью MySQL и PostgreSQL).

Ответ №2:

Я получал ту же проблему. Моя папка tmp отсутствовала. Это решилось, как только я это сделал. Спасибо