2009-06-11 71 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 *]")