【问题标题】:Solr datetime query exceptionSolr 日期时间查询异常
【发布时间】:2026-01-03 08:15:01
【问题描述】:

我是 solr 的新手,所以我可能遗漏了一些非常明显的东西。似乎我的日期时间查询没有得到正确解析。例如,这样的查询:

 solr/select?q=last_updated:1995-12-31T23:59:59Z

结果如下:

 org.apache.solr.common.SolrException:无效的日期字符串:'1995-12-31T23'
        在 org.apache.solr.schema.DateField.parseMath(DateField.java:161)
        在 org.apache.solr.schema.DateField.toInternal(DateField.java:131)
        在 org.apache.solr.schema.FieldType.getFieldQuery(FieldType.java:580)
        在 org.apache.solr.search.SolrQueryParser.getFieldQuery(SolrQueryParser.java:201)
        在 org.apache.lucene.queryParser.QueryParser.Term(QueryParser.java:1429)

似乎 solr 用冒号分隔查询,其余日期丢失。我尝试过了 玩弄日期格式,这正是我观察到的行为。

【问题讨论】:

    标签: datetime solr


    【解决方案1】:

    您需要将日期放在双引号中。 例如。最后更新:“1995-12-31T23:59:59Z”。
    否则,此日期字符串将被标记/分析。

    【讨论】: