Xml Solr:对多个文件进行排序,其中一个是date

Xml Solr:对多个文件进行排序,其中一个是date,xml,solr,Xml,Solr,我试图在solr中搜索,结果必须先按日期排序,然后按名称字段排序。我能够得到预期的结果,因为日期的格式是:2012-09-07T13:31:35Z 查询如下所示: sort=date+desc,name+desc 我不希望也能按时完成排序。您可以使用日期功能,例如在您的情况下 sort=floor(div(ms(date),86400000))+desc,name+desc 请注意,这要求通配符的dynamicField未设置为忽略,即schema.xml中不应出现以下行,如果是,则需要对其

我试图在solr中搜索,结果必须先按日期排序,然后按名称字段排序。我能够得到预期的结果,因为日期的格式是:
2012-09-07T13:31:35Z

查询如下所示:

sort=date+desc,name+desc

我不希望也能按时完成排序。

您可以使用日期功能,例如在您的情况下

sort=floor(div(ms(date),86400000))+desc,name+desc
请注意,这要求通配符的dynamicField未设置为忽略,即schema.xml中不应出现以下行,如果是,则需要对其进行注释或使用某些数字类型,然后才能进行上述排序

<dynamicField name="*" type="ignored" multiValued="true" />

您可以在日期使用该功能,例如在您的案例中

sort=floor(div(ms(date),86400000))+desc,name+desc
请注意,这要求通配符的dynamicField未设置为忽略,即schema.xml中不应出现以下行,如果是,则需要对其进行注释或使用某些数字类型,然后才能进行上述排序

<dynamicField name="*" type="ignored" multiValued="true" />

另一个选项还可以将日期部分存储为数字表示形式(即时间戳,从过去某个日期到文档的日期上午12点的秒)。

如果您遵循时间戳的通用标准,则应该很容易维护、查询和从时间戳转换为日期,反之亦然。

另一个选项还可以将日期部分仅存储为数字表示形式(即时间戳,从过去某个日期到文档日期上午12点的秒)。

如果你遵循时间戳的通用标准,应该很容易维护、查询和从时间戳转换为日期,反之亦然。

日期格式有什么问题?@Jayendra:因为日期附有时间,当我使用该字段和名称字段对列表排序时,姓名字段排序并不重要,因为没有两个姓名有完全相同的时间,即使它们在同一个日期。日期格式有什么问题?@Jayendra:因为日期附带时间,所以当我使用该字段和姓名字段对列表进行排序时,名称字段排序并不重要,因为没有两个名称具有完全相同的时间,即使它们在同一日期。