无效的日期例外| SOLR

时间:2013-11-18 04:58:46

标签: exception solr date-formatting date-conversion

我在搜索indexType:2013-06-26T18:30:00Z TO NOW时收到无效的日期字符串异常。

我得到的堆栈跟踪如下:

Nov 18, 2013 10:19:18 AM org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException: Invalid Date String:'2013-06-26T18'
    at org.apache.solr.schema.DateField.parseMath(DateField.java:165)
    at org.apache.solr.schema.TrieField.readableToIndexed(TrieField.java:301)
    at org.apache.solr.schema.TrieField.toInternal(TrieField.java:309)

Solr版本:3.5.0.2011.11.22.14.54.38

虽然当我查看索引时,它的日期值完全相同,所以有点奇怪。

提前致谢。

2 个答案:

答案 0 :(得分:4)

查询解析器将您的查询解释为

    indexType | 2013-06-26T18
    defaultSearchField | 30
    defaultSearchField | 00Z
    defaultSearchField | TO
    defaultSearchField | NOW

尝试改为

indexType:[2013-06-26T18:30:00Z TO NOW]

有关Solr查询语法here的更多信息。

答案 1 :(得分:0)

嗯,首先最简单的,我想正确的方法是将日期范围设置为平方括号[]:

indexType:[2013-06-26T18:30:00Z TO NOW]

另一种方法是在每个冒号之前使用转义序列,如下所示:

indexType:2013-06-26T18\:30\:00Z TO NOW