为什么会返回结果:
@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
是一个日期时间字段,但我也尝试过小时,分钟和秒。
答案 0 :(得分:0)
鉴于你得到的结果,我猜published_on
实际上是一个属性,而不是一个字段?
如果属性是日期时间数据类型,那么您需要为过滤器传递Ruby Time对象 - 或整数时间戳(这是Thinking Sphinx将时间转换为无论如何)。 TS不会尝试解析字符串,因此您需要自己管理它。
在自动解析日期和时间方面,Sphinx并不像MySQL那样华丽 - 您需要使用正确的数据类型。