我的架构有两个提交
<field name="startDate" type="date" indexed="true" stored="true"/>
<field name="endDate" type="date" indexed="true" stored="true"/>
我需要搜索&#34;当前时间&#34;在开始或结束日期之间。
查询是什么?
答案 0 :(得分:0)
查询字符串,为清楚起见,没有转义,可能看起来像这样(使用lucene查询解析器语法):
?q=startDate:[* TO NOW]&endDate:[NOW TO *]
答案 1 :(得分:0)
引自https://wiki.apache.org/solr/SolrQuerySyntax
如果您使用Solr&#34; DateField&#34;类型,对这些字段的任何查询(通常是范围查询)应使用该字段支持的完整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]