我的Lucene / Solr数据库包含一个日期列(created_at),我需要将其用作查询中的条件。
我是RoR的新手,并假设RoR在anyObject.save上自动使用自己的日期对象,而Solr依次以自己的方式重新索引该列。
无论如何,日期采用以下格式:“2008-06-03 11:15:20”
我可以编写一个快速解析器来将我的查询字符串解析为上面的格式,但是当我查询
时Object.find(keyword:foo created_at> ='2008-06-03 11:15:20')
Solr抛出解析错误。我已经尝试了几种标准变体而没有成功。有什么建议吗?
答案 0 :(得分:2)
我讨厌问这个显而易见的问题,但你有没有检查solr docs查询语言的日期?
http://wiki.apache.org/solr/SolrQuerySyntax
并且经验表明“> =”不是有效的solr运算符。您可以对日期字段执行范围查询,但在示例查询中使用正确的格式为:
Object.find("keyword:foo AND created_at:[2008-06-03T11:15:20.000Z TO *]")