摘要: Solr的日期字段(TrieDateField 和DateRangeField)可以对一个时间点以毫秒精度表示。

格式

Solr中的日期有很严格的格式限制:
YYYY-MM-DDThh:mm:ssZ

  • YYYY 表示年
  • MM 表示月份
  • DD 表示天
  • hh 表示小时,24小时制
  • mm 表示分钟
  • ss 表示秒钟
  • Z 代表时区是UTC

比如:
2017-01-22T17:33:18Z

  • 时区不能换,只能是UTC
  • 更精细的表示时间可以是:2017-01-22T17:33:18.333Z

查询

由于Solr的时间中有一个特殊符号 冒号(:),在查询的时候可以使用下面几种方式对一个时间字段查询

datefield:2017-01-20T17:33:18.333Z

datefield:”2017-01-20T17:33:18.333Z”

datefield:[2017-01-20T17:33:18.333 TO *]

时间区间表示

  • 2017-01 2017年整个1月
  • 2017-01T13 2017年整个1月每天13:00到14:00
  • [2017-01-01 TO 2017-01-22] 2017年1月1号到22号
  • [2017 TO 2017-01-22] 2017年1月1号到22号
  • [ * TO 2017-01-22] 2017年1月22号之前

计算时间

Solr支持一些简单的数学计算,并且内建了一些表达式

    • NOW 当前时间
    • NOW+2MONTHS 之后的两个月时间内
    • NOW-1DAY 一天前
    • NOW/HOUR 从这个小时开始

Solr中的日期/时间表示的更多相关文章

  1. lucene、solr中的日期衰减方法-------function query --尚未测试在solr4.8

    经常有一种情景是这样的:我们索引了N年的文章,而查询时候无论直接用相关度.或者用时间排序,都是比较鲁莽的:我们想要一种既要相关度比较高,又要时间上比较新的文章. 这时候的解决办法就是,自定义日期衰减的 ...

  2. Android中关于日期时间与时区的使用总结

    在开发Android的过程中,出现过几次由于日期时间导致的问题,而且主要是由于时区的原因导致,所以一直想总结一下,形成一个良好的开发规范.   一.Unix时间戳   Unix时间戳(Unix tim ...

  3. 在mysql数据库中关于日期时间字段的处理

    在mysql数据库中关于日期时间字段的处理 在开发中,日期时间字段一般有如下几种设计 假设要获取2013-08-15日到2013-08-16日之间的记录 1. 直接使用日期时间类字段 相关sql语句如 ...

  4. MYSQL 中常用日期时间函数使用

    MySQL Date 函数 下面的表格列出了 MySQL 中最重要的内建日期函数: 函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 ...

  5. SQL中的日期时间函数

    之所以把日期时间函数单独拿出来回顾一下,是因为这一部分的内容比较独立,C#中也有类似的日期时间函数,趁着想得起来,写个标题先.

  6. JavaScript中的日期时间函数

    1.Date对象具有多种构造函数,下面简单列举如下 new Date() new Date(milliseconds) new Date(datestring) new Date(year, mont ...

  7. MySQL 中的日期时间类型

    日期时间类型中包含以下几种数据类型: DATE TIME DATETIME TIMESTAMP YEAR 各类型都有具体的取值范围,超出或非法的其他值时,MySQL 会回退到 0.TIMESTAMP ...

  8. js中常用日期时间转换

    常用日期时间处理插件:1. timeago.js处理几分钟之前    2. day.js    3. moment.js 注意: 1. 此处的标准时间格式为  2018-03-23 13:35:47 ...

  9. Oracle中与日期时间有关的运算函数

    1            ADD_MONTHS 格式:ADD_MONTHS(D,N) 说明:返回日期时间D加N月后对应的日期时间.N为正时则表示D之后:N为负时则表示为D之前:N为小数则会自动先删除小 ...

随机推荐

  1. gevent原理

    未看 http://blog.csdn.net/yueguanghaidao/article/details/24281751

  2. c++获取键盘输入cin、scanf使用详解

    cin是c++标准,scanf是在c中使用的 #include<cstdio> #include<iostream> #include<cstring> using ...

  3. jsp中如何清除缓存(转)

    <% response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 response.setHea ...

  4. 【转】利用Psyco提升Python运行速度

    转自:http://www.leeon.me/a/use-Psyco-to-improve-Python-speed Psyco 是严格地在 Python 运行时进行操作的.也就是说,Python 源 ...

  5. Uedit编辑器编辑Velocity

    1.切换到源代码模式 UM.getEditor('editor').execCommand("source"); 2.给编辑器插入Velocity源码 $(".edui- ...

  6. RTTI D7

    RTTI需要引用单元TypeInfo 至于RTTI的数据结构,大家可以参考TypeInfo单元的代码 看例子,先为大家介绍一下根据字符串找到属性,并且对其修改的例子 根据属性字符串找到属性,并修改属性 ...

  7. inf 启动

    How to install an INF file using Delphi If you need to install an "inf" file using Delphi, ...

  8. apache配置https协议

    安装openssl有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.下面对两种方式均进行详细描述. 一.下载和安装openss 方法一:直接使用openssl安装包 W ...

  9. 黄聪:超实用的PHPExcel[导入][导出]实现方法总结

    首先需要去官网https://github.com/PHPOffice/PHPExcel/下载PHPExcel,下载后只需要Classes目录下的文件即可. 1.PHPExcel导出方法实现过程 /* ...

  10. java 菜单 中文 乱码问题解决方案(使用idea/eclipse) swing MenuItem乱码

    java swing MenuItem乱码 2016年12月30日 13:32:08751人阅读 评论(0) 收藏 举报   用java开发一个带有托盘图标的程序, 其它模块的中文显示都是正常的,比如 ...