0

我的 Lucene/Solr 数据库包含一个日期列 (created_at),我需要将其用作查询中的条件。

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

无论如何,日期格式如下:“2008-06-03 11:15:20”

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

Object.find(关键字:foo created_at >= '2008-06-03 11:15:20')

Solr 引发解析错误。我已经尝试了几种标准变体,但均未成功。有什么建议么?

4

1 回答 1

2

我不想问明显的问题,但是您检查过 solr 文档中的日期查询语言吗?

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

经验表明 ">=" 不是有效的 solr 运算符。您可以对日期字段进行范围查询,但在示例查询中使用正确的格式将是:

Object.find("keyword:foo AND created_at:[2008-06-03T11:15:20.000Z TO *]")
于 2009-06-14T21:23:45.513 回答