[英]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.