如何在solr中比较日期?
我的模式有两个字段如何在solr中比较日期?,solr,Solr,我的模式有两个字段 <field name="startDate" type="date" indexed="true" stored="true"/> <field name="endDate" type="date" indexed="true" stored="true"/> 我需要搜索“当前时间”介于开始日期和结束日期之间的文档 查询将是什么?一个查询字符串,为了清楚起见没有转义,可能看起来像这样(使用lucene查询解析器语法): 引自 如果使用Solr“
<field name="startDate" type="date" indexed="true" stored="true"/>
<field name="endDate" type="date" indexed="true" stored="true"/>
我需要搜索“当前时间”介于开始日期和结束日期之间的文档
查询将是什么?一个查询字符串,为了清楚起见没有转义,可能看起来像这样(使用lucene查询解析器语法): 引自 如果使用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]
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]