2013-09-27 233 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