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

时间:2008-11-03 11:27:15

标签: ruby-on-rails ruby full-text-search sphinx thinking-sphinx

我在this video之后使用Thinking Sphinx进行全文搜索。

我想做以下事情:

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

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

1 个答案:

答案 0 :(得分:24)

Railscasts

处获得解决方案
  

如果您希望该模型的* all *结果过滤掉published_at IS为NULL的记录,请在您的define_index块中添加'where“published_at IS NOT NULL”'。

     

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

第二种解决方案就是我所需要的。