2013-09-27 231 views
0

我必須製作一個帶日期功能的ezfind搜索頁面。對於SOLR過濾器,我嘗試使用類似這樣的東西:attr_publish_date_dt:[NOW-6MONTH TO NOW]但我沒有得到任何結果。 如果我以這種方式使用它attr_publish_date_dt:[* TO NOW],它可以工作。但是左側沒有星號的所有查詢都不起作用。SOLR日期範圍

attr_publish_date_dt包含一個unix時間戳,所以我也嘗試使用來自attr_publish_date_dt的2個時間戳:[* TO NOW]結果,而不是[NOW-6MONTH TO NOW],但是我也沒有得到結果。

任何人都可以幫助我嗎?在此先感謝 弗蘭克

+0

Solr的哪個版本?你在使用TrieDateField嗎? '[NOW-6MONTH TO NOW]'在solr 4.2.1中對我有效,日期字段定義爲' arun

+0

我們使用SOLR 2.2,因爲我們使用的ez發佈版本不支持更高版本的SOLR。 – DeeFour

回答

0

日期字段支持日期搜索。您需要定義該類型的字段,並以ISO-8601格式提交日期。

http://lucene.apache.org/solr/4_4_0/solr-core/org/apache/solr/schema/DateField.html

如果你不能正確格式化其發送到Solr之前的時間戳,您可以使用DateFormatTransformer或ScriptTransformer來完成這項工作。

http://wiki.apache.org/solr/DataImportHandler#DateFormatTransformer http://wiki.apache.org/solr/DataImportHandler#ScriptTransformer

+0

感謝您的回答,我們將檢查我們的導入腳本來解決問題。 – DeeFour