思考狮身人面像日期范围问题

时间:2011-04-07 21:49:44

标签: ruby-on-rails thinking-sphinx

为什么会返回结果:

@results = Index.search "#{@keywords}", :with => {
 :published_on => 1.week.ago..Time.now,  
}

但不是吗?

@results = Index.search "#{@keywords}", :with => {
  :published_on => '2011-04-01'..'2011-04-08',
}

published_on是一个日期时间字段,但我也尝试过小时,分钟和秒。

1 个答案:

答案 0 :(得分:0)

鉴于你得到的结果,我猜published_on实际上是一个属性,而不是一个字段?

如果属性是日期时间数据类型,那么您需要为过滤器传递Ruby Time对象 - 或整数时间戳(这是Thinking Sphinx将时间转换为无论如何)。 TS不会尝试解析字符串,因此您需要自己管理它。

在自动解析日期和时间方面,Sphinx并不像MySQL那样华丽 - 您需要使用正确的数据类型。