将java的Date转换成Solr的时间格式
2016-03-11 10:04
330 查看
DateField 表示一个精确到毫秒的时间,值的格式是:
YYYY-MM-DDThh:mm:ssZ
其中,
YYYY 表示年,MM 表示月,DD 表示日,hh 表示24小时制的小时,mm 表示分钟,ss 表示秒。
值的注意的是上面的那个时间格式里没有时区;带时区的时间格式可以通过格林尼治时间表示。这里是一个示例的值:
1972-05-20T17:33:18Z
另一个带毫秒的例子:
1972-05-20T17:33:18.772Z
另外,DataField也支持日期计算。这个可以方便创建相对于当前时间的时间点。可以用这个表达从现在往后两个月:
+2MONTHS
这个表示一天以前:
-1DAY
使用/可以表示当前的某部分时间,这个表示当前的小时:
/HOUR
当然也能组合表达式,以下表示的是六个月零三天以后的日(一个月的第几天):
+6MONTHS+3DAYS/DAY
Java Date转成solr时间的代码如下:
YYYY-MM-DDThh:mm:ssZ
其中,
YYYY 表示年,MM 表示月,DD 表示日,hh 表示24小时制的小时,mm 表示分钟,ss 表示秒。
值的注意的是上面的那个时间格式里没有时区;带时区的时间格式可以通过格林尼治时间表示。这里是一个示例的值:
1972-05-20T17:33:18Z
另一个带毫秒的例子:
1972-05-20T17:33:18.772Z
另外,DataField也支持日期计算。这个可以方便创建相对于当前时间的时间点。可以用这个表达从现在往后两个月:
+2MONTHS
这个表示一天以前:
-1DAY
使用/可以表示当前的某部分时间,这个表示当前的小时:
/HOUR
当然也能组合表达式,以下表示的是六个月零三天以后的日(一个月的第几天):
+6MONTHS+3DAYS/DAY
Java Date转成solr时间的代码如下:
/** * 将java Date格式转成Solr支持的UTC时间 * @param date * @return */ public static String getSolrDate(Date date) { SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss"); sdf2.setTimeZone(TimeZone.getTimeZone("UTC")); String result = sdf1.format(date) + "T" + sdf2.format(date) + "Z"; return result; }
相关文章推荐
- 在Eclipse中运行Solr 基础知识
- Solr 5.3.0集成mmseg4j、tomcat部署、Solrj 5.3.0使用
- Solr基础--设置solr/home的三种方式
- Docker使用supervisor构建solr
- solr4.0安装和简单导入mysql数据
- Solr 4.0 基础教程
- 自译Solr in action中文版
- Solr In Action 中文版 第一章(一)
- Solr In Action 中文版 第一章 (二)
- Solr In Action 中文版 第一章(三)
- 基于solr实现hbase的二级索引
- 基于Nutch&Solr定向采集解析和索引搜索的整合技术指南文档
- 基于Nutch&Solr定向采集解析和索引搜索的整合技术指南文档
- Tomcat/Solr4.3.1 配置过程
- Solr Facet技术的应用与研究
- Apache Solr查询语法
- Solr客户端删除数据的方式
- Solr5.4 在 Tomcat 部署
- Centos 安装 Solr
- Solr在Weblogic中部署遇到的问题