Мне интересно, используете ли вы PostgreSQL в качестве базы данных приложения? А может у вас нет статей, соответствующих условию where
? В выпусках Sphinx 3.x есть проблема, из-за которой пустые индексы вызывают ошибку при индексировании (и, похоже, это не исправлено в версии 3.3.1, которая вышла только на прошлой неделе).
Я подал эта проблема связана с командой Sphinx , но пока ответа не последовало.
Если вы действительно хотите использовать индексы с поддержкой SQL, боюсь, вам придется понизить рейтинг до Sphinx 2.2.11 или подумайте о переходе на Manticore (ответвление Sphinx, у которого нет этой проблемы). Или вместо этого вы можете использовать индексы в реальном времени , которые отлично работают с Sphinx v3. Если это так, вы можете использовать метод scope
в индексе для ограничения результатов:
ThinkingSphinx::Index.define :article, :with => :real_time do
indexes title
scope { Article.where(:photo => "photo") }
end