Как добавить условие «НЕ НУЛЬ» в поиск «Мыслящий сфинкс» - PullRequest
9 голосов
/ 03 ноября 2008

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

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

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

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

1 Ответ

24 голосов
/ 03 ноября 2008

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

Если вы хотите, чтобы * все * результаты для этой модели отфильтровывали записи, в которых ключ_публикации_ОС НЕДЕЙСТВИТЕЛЕН, добавьте 'где "ПУТИК НЕ ВЫПУСКАЕТСЯ' 'в блок define_index.

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

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

...