您的位置:首页 > 数据库

解决solr索引时间字段后比数据库里的值晚8小时

2013-09-20 15:53 316 查看
由于solr里存储的是格林威治时间(GMT),所以直接从库里导入数据进solr会少8小时,目前想到一个办法就是我默认给他加8小时,再减8小时不就正好是正常时间了么?所以实现如下:

查询sql的时候 (PST太平洋标准时间 -08:00)

new_time(a.updatedtime,'PST','GMT')

SELECT a.videoid as id,a.videoname,a.videobrief,a.keywords,new_time(a.updatedtime,'PST','GMT') as updatedtime,new_time(a.inputedtime,'PST','GMT') as inputedtime

以上仅个人看法

下面的配置可以自动添加当前时间到timestamp字段,这是按照格林威日时间记录的,我们在东8区

<field name=”timestamp” type=”date” indexed=”true” stored=”true” default=”NOW” multiValued=”false”/>

下面这样配置记录的就是北京时间

<field name=”timestamp” type=”date” indexed=”true” stored=”true” default=”NOW+8HOUR” multiValued=”false”/>

顺便说一下,用tdate可以加快范围查找速度

<field name=”timestamp” type=”tdate” indexed=”true” stored=”true” default=”NOW+8HOUR” multiValued=”false”/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: