Как мне добавить условие "НЕ НУЛЬ" к поиску Thinking Sphinx

Я использую Thinking Sphinx для полнотекстового поиска, следуя этому видео.

Я хотел бы сделать следующее:

@articles = Article.search(params[:search], :conditions => "published_at IS NOT NULL", :order => :created_at)

Проблема в том, что это не работает. Кажется, что метод поиска принимает только те условия, которые являются хэшем. Я пробовал несколько способов, но я не представляю, как я могу представить "ключ_ОТОМ НЕ НУЛЕЙ" как хеш...

1 ответ

Решение

Было дано решение в Railscasts

Если вы хотите, чтобы * все * результаты для этой модели отфильтровывали записи, в которых ключ_публикованного_НУТРИ НУЛЬ, добавьте 'где "опубликованный_НЕТ НУЛЬ' 'в свой блок define_index.

Если это только иногда, добавьте publ_at в качестве атрибута, и тогда sphinx должен хранить нулевые даты как 0, так что вы можете фильтровать, используя: без => {:publ_at => 0}

Второе решение было то, что мне было нужно.

Другие вопросы по тегам