如何在Thinking Sphinx搜索中添加条件"IS NOT NULL"

Chr*_*unt 9 ruby full-text-search sphinx ruby-on-rails thinking-sphinx

我正在使用Thinking Sphinx进行全文搜索,关注此视频.

我想做以下事情:

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

问题是这不起作用.似乎搜索方法只接受哈希条件.我已经尝试了几种方法,但我对如何将"published_at IS NOT NULL"表示为哈希表示无能为力......

Chr*_*unt 24

Railscasts上获得了解决方案

如果您希望该模型的*all*结果过滤掉published_at IS为NULL的记录,请将"where"published_at IS NOT NULL"'添加到您的define_index块中.

如果只是有时,将published_at添加为属性,然后sphinx应将null日期存储为0,因此您可以使用:without => {:published_at => 0}进行过滤

第二个解决方案是我需要的.