使用Solr排序日期会弄乱一些日期

pri*_*inn 0 java sorting solr date

使用Solr排序日期时,我遇到了一个奇怪的问题.问题是,当我对它进行排序时,如果我们只有这样的日期就可以了:01/01/2011,01/02/2011,01/03/2011

但是如果我们错误地输入日期错误,例如:01/01/2011,01/02/2011,01/03/2011,01/04/2011以及空值,那么我们就有问题它正在混合一切.

Solr是否有一个范围.这不是一个无效的日期,它只是一个很久以前的日期,但仍然有效.

任何可能对我有帮助的想法?

对不起,如果我没有提供很多细节,我仍然是新用的.还有别的,请问我会更好地详细说明.

UPDATE

schema在schema.xml上是这样的

<field name="endDate" type="tdate" indexed="true" stored="true"/>
Run Code Online (Sandbox Code Playgroud)

Fux*_*uxi 5

如果你没有运行最新的Solr 3.5,你可能会遇到至少2个错误:)但首先,要在开头获取缺失(null)值,你可能会尝试设置:

sortMissingLast=false
sortMissingFirst=true
Run Code Online (Sandbox Code Playgroud)

在tdate字段类型定义(SchemaXml Doc)上.这是Solr 3.5 SOLR-2881的新功能

第二个问题是年份0001-1000之间的日期,这被记录为问题SOLR-2772

有关版本的更多信息:Apache Solr发行说明

如果您正在运行某些旧版本的Solr并且无法升级,或者我的建议不适合您,则总有另一种方法:)重新索引您的数据,但作为sint时间戳.