solr date时间差8小时解决办法

原创 2013年12月03日 12:05:31
solr因为时区设置问题,导致正常入索引后的date类型的时间会减少8小时,跟多初学者会为此苦恼,今天我把个人解决的方案给大家说一下,希望能帮助到大家.
 
方案一:
对date类型的时间字段, 如果可以的话,可以将solr的时间field的类型改为string类型,这样也就不存在时差的问题了,这个方案是可行的.
 
方案二:
既然知道solr入索引时,时间类型的字段会减少8小时,那么我们为何不将入索引前的时间先手动添加8小时后,再添加入索引操作,这也就一种解决办法,我来分析几种情况,希望对大家有帮助:
 
(1) 一般数据都是从数据库里面获取,通过sql形式读取数据,然后再入索引,部分人可能会根据方案二将结果取出来,然后再自己将时间处理为加8小时,然后再入索引,其实不必自己去写,因为sql本身都提供了一些可以在sql语句中直接使用的函数,比如Mysql, mysql提供了date_add(pubdate, interval +8 hour)这样一个函数,pubdate是你要查询的date类型的字段名称,后面的+8表示读取数据库时间之后再加8小时,这样,时间就变为我们想要的时间了(其他数据库也提供了类似的函数,大家自己去查一下就可以解决).
 
(2) 对非数据库来源的数据,通过java提供的时间操作类,也是很容易处理的,这里只是简单提一下,使用Calendar即可,细节在此就不多说了.
 
除了以上两种方式大家如果有什么更好的建议,期待大家留言.

相关文章推荐

solr date时间差8小时解决办法

solr因为时区设置问题,导致正常入索引后的date类型的时间会减少8小时,跟多初学者会为此苦恼,今天我把个人解决的方案给大家说一下,希望能帮助到大家.   方案一: 对date类型的时间字段,如果可...
  • bob007
  • bob007
  • 2014年02月24日 13:29
  • 2787

Solr中的日期/时间表示

摘要: Solr的日期字段(TrieDateField 和DateRangeField)可以对一个时间点以毫秒精度表示。格式Solr中的日期有很严格的格式限制: YYYY-MM-DDThh:mm:s...

Solr中设置时区Timezone, Tomcat/Jetty

1. Jetty solr.in.sh # By default the start script uses UTC; override the timezone if needed SOLR_T...

solr5解决时区差8小时的问题

在oschina上的第一篇文章,记录一个在工作中遇到的问题 问题很简单,也算是开博了 在solr5中解决时区的问题,更加简单了,直接修改配置文件bin/solr.in.sh即可。如下:...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

solr5.5.2 在windows下设置默认时区

网上一搜设置时区全是修改配置:solr_home/bin/solr.in.sh。但是我是在windows下使用所以这个配置文件怎么改都无效。(我是通过修改8983测试出来的) 正确的配置文件是solr...

solr和java时区时间日期转化方法

我们一般得到的时间为当地时区的时间,而我存储到服务器上时想得到格林威治时间(GMT)和世界协调时间(UTC)。一种是通过时间差计算:目标时区时间+时区差=本时区的时间。另一种则是通过设置时区不过要调用...

Solr入门和实践以及我对Solr的8点理解

友情提示Solr的内容还是比较多的,一篇文章只能讲解一部分。全面介绍,没兴趣,没时间,也没能力,回报还不大。本文只写点我认为比较重要的知识点,独特的个人想法。仅供参考哦,更多细节需要自己去琢磨。概述S...

通过DIH工具增量将MySQL表中的数据导入Solr时,last_index_time小于当前时间8小时的问题

Solr安装后,使用的是世界统一时间UTC。 而中国大陆、中国香港、中国澳门、中国台湾等地区的时间与UTC的时差均为+8,也就是UTC+8。 DIH工具增量导数据时,默认会使用最后一次全量、增量命...

iOS-NSDate 相差 8 小时

NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 好像是从ios4.1开始[NSDate date];获取的是GMT时间,这个时间和北京时间相差8个小时,以下代码可...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:solr date时间差8小时解决办法
举报原因:
原因补充:

(最多只允许输入30个字)