2009-06-11 51 views
0

我的Lucene/Solr数据库包含一个日期列(created_at),我需要用作查询条件。solr查询与红宝石 - 需要比较日期时间

我是RoR的新手,并且假设RoR在anyObject.save中自动使用自己的日期对象,并且Solr以自己的方式重新索引该列。

无论如何,日期格式为:“2008-06-03十一时15分二十秒”

我可以写一个快速的解析器来我查询字符串解析为上面的格式,但是当我查询

Object.find(关键字:FOO created_at> = '2008-06-03 11时15分二十〇秒')

Solr的抛出分析错误。我已经尝试了几个标准变体,但没有成功。有什么建议么?

回答

2

我讨厌问明显的问题,但是您是否检查过日期查询语言的solr文档?

http://wiki.apache.org/solr/SolrQuerySyntax

和经验表明, “> =” 不是一个有效的Solr的运营商。您可以对日期字段进行范围查询,但在您的示例查询中使用正确的格式为:

Object.find("keyword:foo AND created_at:[2008-06-03T11:15:20.000Z TO *]")