以下是用于根据时间范围查询文档的日期数学字符串的示例
timestamp:[2016-07-15T02:44:33.764Z TO 2016-07-15T02:44:33.800Z]
我也看到现在的用法,如[*现在],所有可用的字符串都记录在哪里?此外,Date Math是某种日期字段类型可识别的格式吗?
答案 0 :(得分:0)
Working with dates:Solr仅支持ISO-8601格式的日期和时间戳:
使用的格式是XML Schema规范中dateTime的规范表示的受限形式 - ISO-8601的受限子集。对于熟悉Java 8的人,Solr使用DateTimeFormatter.ISO_INSTANT进行格式化,并使用“leniency”进行解析。
YYYY-MM-DDTHH:MM:SSZ
NOW是一个特殊值,因为它被评估为当前时间戳,一般来说 - 它对于缓存很糟糕而且可能不需要(例如,如果您查询繁忙的索引,则可能需要使用向上或向下舍入的值代替)。
可以修改所有时间戳using the Date Math syntax supported,您可以在其中将值舍入到特定单位或根据需要添加/减去单位:
例如:这代表两个月后的某个时间点:
NOW+2MONTHS
这是一天前:
NOW-1DAY
斜杠用于表示舍入。这代表当前时间的开始:
NOW/HOUR
以下示例计算(毫秒精度)未来六个月和三天的时间点,然后将该时间舍入到当天的开头:
NOW+6MONTHS+3DAYS/DAY