繁体   English   中英

Solr索引文档中用于基于时间戳进行查询的DateMath是什么?

[英]What is DateMath as used in solr index documents to query based on timestamp?

这是一个用于根据时间范围查询文档的日期数学字符串的示例

timestamp:[2016-07-15T02:44:33.764Z TO 2016-07-15T02:44:33.800Z]

我还看到了[* TO NOW]之类的NOW用法,所有可用字符串在哪里记录? 此外,Date Math是否为某些Date字段类型可以识别的格式类型?

使用日期 :Solr仅支持ISO-8601格式的日期和时间戳:

使用的格式是XML Schema规范中dateTime规范表示的一种受限形式-ISO-8601的受限子集。 对于熟悉Java 8的人,Solr使用DateTimeFormatter.ISO_INSTANT进行格式化,并使用“宽大处理”进行解析。

YYYY-MM-DDThh:mm:ssZ

一般而言,NOW是一个特殊值,因为它是根据当前时间戳计算的,通常对缓存不利,并且可能不是必需的(即,如果您查询繁忙的索引,则可能需要使用向上或向下取整的值)。

可以使用支持的日期数学语法来修改所有时间戳,您可以在其中将值四舍五入为特定单位或根据需要添加/减去单位:

例如:这表示从现在起两个月的时间点:

NOW+2MONTHS

这是一天前:

NOW-1DAY

斜线用于表示舍入。 这代表当前时间的开始:

NOW/HOUR

以下示例计算(以毫秒为单位)未来六个月零三天的时间点,然后将该时间舍入到当天的开始:

NOW+6MONTHS+3DAYS/DAY

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM