2014-12-02 59 views
0

我的架构已经这两申请如何比较solr中的日期?

<field name="startDate" type="date" indexed="true" stored="true"/> 
<field name="endDate" type="date" indexed="true" stored="true"/> 

我需要搜索的文件,其中“当前时间”的开始或结束日期之间。

查询会是什么?

回答

0

的查询字符串,不逃避为清楚起见,可能是这样的(使用Lucene查询语法分析):

?q=startDate:[* TO NOW]&endDate:[NOW TO *] 
0

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

引用如果您使用的Solr “的DateField” 类型,任何对这些字段(通常为范围查询)的查询应使用字段支持的完整ISO 8601日期语法或DateMath语法来获取相对日期。示例:

timestamp:[* TO NOW] 
createdate:[1976-03-06T23:59:59.999Z TO *] 
createdate:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z] 
pubdate:[NOW-1YEAR/DAY TO NOW/DAY+1DAY] 
createdate:[1976-03-06T23:59:59.999Z TO 1976-03-06T23:59:59.999Z+1YEAR] 
createdate:[1976-03-06T23:59:59.999Z/YEAR TO 1976-03-06T23:59:59.999Z]