Если вы хотите убедиться, что неопубликованные статьи никогда не включены в поисковый индекс, вы можете сделать это следующим образом:
class Article < ActiveRecord::Base
searchable :if => :published? do
text :title
text :body
end
end
Модель будет проиндексирована только после публикации.
Мой подход менее интересен, если вы также хотите, чтобы администраторы могли искать статьи, в том числе неопубликованные.
Примечание: вызов article.index!
добавит экземпляр в индекс независимо от параметра :if => :method
.