`

Solr 中的 date 问题

    博客分类:
  • Solr
阅读更多
初学solr在schema 里面配置并使用sorl的date或者tdate类型,具体类型与使用如下:
Java代码  收藏代码
  1. <field name="tdate_field" type="tdate" indexed="true" stored="true" />        
  2.   <field name="date_field" type="date" indexed="true" stored="true" />        
  3.     
  4.   <fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/  
  5.   <!-- A Trie based date field for faster date range queries and date faceting. -->  
  6.   <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>  
    在solr的web界面上进行query操作时,返回xml与json的时间结果总是相差8小时。但是sorj返回的得到的java.util.Date数据值又是正确的,没有相差8小时。
找到solr-crore包的org.apache.solr.schema.DateField代码:
Java代码  收藏代码
  1. public static TimeZone UTC = TimeZone. getTimeZone( "UTC");  
     发现默认的时区是UTC。可见solr存的时间值是对的,只不过显示的时间是以"UTC" 零时区的时间显示,所以返回给Date数据也是正确的。
    可以说,这是solr的一个坑,solr不提供时区配置的方式,只以" yyyy-MM-dd'T'HH:mm:ss'Z'"的时间格式返回xml或json的字符串,同时solr通过http传输,查询参数以字符串组装(好像只能以字符串方式建立主查询),例如:
Java代码  收藏代码
  1. Date date = new Date();  
  2. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'" );  
  3. String queryTime = QueryRule.ONLINE_TIME + ":[" +sdf.format(date )+ " TO "+ "*]" ;  
  4. query.setQuery(queryTime);  
 这样做的话一般采用本机默认时区,自然就有8小时的相差。
 
可以按如下方式解决:
       
Java代码  收藏代码
  1. Date date = new Date();       
  2. SimpleDateFormat sdf = new SimpleDateFormat("yyyy -MM-dd'T'HH:mm:ss'Z'");   
  3. sdf.setTimeZone(TimeZone. getTimeZone( "UTC"));   
  4. String queryTime = QueryRule.ONLINE_TIME + ":[" +sdf.format(date )+ " TO "+ "*]" ;  
  5. query.setQuery(queryTime);  
 
但是还有一点还是很别扭,solr在网页,还有xml,json上返回的时间,还是以UTC为时区,相差8小时。
 
扯了半天,你可能早就想到了,用啥Date类型,干脆用long存得了。
 
分享到:
评论

相关推荐

    Solr3.6 + 中文分词 完整Tomcat工程部署包

    在tomcat的conf文件夹建立Catalina文件夹,然后在Catalina文件夹中在建立localhost文件夹,在该文件夹下面建立 apache-solr-3.6.0.xml 提交搜索资源并建立索引 cd /Volumes/Date/apache-tomcat-7.0.27/webapps/...

    solr-7.7.2+ik-analyzer-solr7x.zip

    3. **多字段类型支持**:Solr允许为不同的字段定义不同的数据类型,如text、int、date等,以适应各种数据需求。 4. **丰富的查询语法**:Solr支持布尔运算符、短语查询、模糊匹配、范围查询等多种查询方式。 5. **...

    Solr.3.1.Cookbook_Code

    《Solr.3.1.Cookbook》是一本专注于Apache Solr搜索引擎的实践指南,而提供的"Solr.3.1.Cookbook_Code"压缩包则...如果你能深入研究这些代码,并结合书中的解释,你将能够更熟练地驾驭Solr,解决实际工作中的搜索问题。

    solr.md Solr是一个高性能,采用Java开发

    如果创建过程中遇到问题,可以尝试将`configsets/_default`下的`conf`文件夹复制到新创建的核心实例中。 #### 三、Solr核心实例配置详解 - **导入驱动程序**:为了使Solr能够与外部数据源进行交互,需要在所创建的...

    solr-4-10.3.zip

    4. **字段类型与分析**: Solr允许用户定义不同的字段类型,如text、int、date等,并且每个字段类型可以配置对应的分析器,进行预处理,如分词、去除停用词、词干提取等,以满足不同数据的索引需求。 5. **Faceting...

    Apache Solr Search

    `Schema.xml`是Solr中最核心的配置文件之一,它定义了索引中的字段类型、字段和动态字段等关键信息。该文件被分为三个主要部分: 1. **类型(Types)**:定义了各种字段类型及其关联的Solr类,例如字符串(string)...

    solr5.3.1 导入mysql数据

    1. **字段类型(Field Types)**: 在 Solr 中,每个字段都有一个特定的类型,例如 `text_general` 用于处理全文文本,`int` 处理整型数据,`date` 处理日期时间等。在 Schema.xml 中,我们需定义这些字段类型。 2. ...

    solr 4-10.3 工具包 包含工程jar包

    9. **多字段类型**:Solr允许为每个字段指定不同的类型,如text、int、date等,每种类型有不同的存储和索引特性。 10. **聚合功能**:Solr 4.x版本引入了聚合框架,可以进行复杂的多级聚合查询,以便在结果集上进行...

    Apache.Solr.Search.Patterns.1783981849

    Publication Date: 2015-03-31 ISBN-10: 1783981849 ISBN-13: 9781783981847 Leverage the power of Apache Solr to power up your business by navigating your users to their data quickly and efficiently ...

    图解Solr5.3.1与MySQL配置【原创】

    1. **Solr样例文件**:在下载的Solr包的`example`目录中,可以找到许多样例配置文件,这些文件可以帮助开发者更好地理解Solr的各种配置选项。 2. **通过Solr控制台创建核**:除了手动创建核外,还可以通过Solr的管理...

    solr-7.3.0 linux版本亲测可用.zip

    8. **多字段类型**:Solr允许为不同的字段定义不同的类型,如text字段用于全文搜索,date字段用于时间戳处理,提高搜索精度和灵活性。 9. **复制和恢复**:SolrCloud支持数据的自动复制和恢复机制,确保在节点故障...

    Solr配置入门教程

    Solr配置入门教程主要涉及如何将数据从MySQL数据库和XML文件导入到Solr索引中。以下是详细步骤和相关知识点: 1. **下载与解压Solr**:首先需要从官方源获取Apache Solr的最新版本,并将其解压缩到一个合适的文件夹...

    solr facet 笔记

    Solr 提供了多种 Facet 组件,包括 `facet.field` 用于基于字段的 Faceting,`facet.query` 用于自定义查询的 Faceting,以及 `facet.date` 用于日期的 Faceting。这些组件可以通过配置在查询请求中指定,以满足不同...

    solr4.7从数据库导数据[归类].pdf

    &lt;fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/&gt; &lt;fieldType name="text_ik" class="solr.TextField"&gt; ``` 在这个例子中,我们为不同类型的字段(如整型...

    Solr in Action_2014

    Publication Date: April 5, 2014 | ISBN-10: 1617291021 | ISBN-13: 978-1617291029 | Edition: 1 Summary Solr in Action is a comprehensive guide to implementing scalable search using Apache Solr. This ...

    solr查询语法

    在Solr查询中,有许多重要的查询参数,这些参数可以帮助我们更精确地控制搜索行为。 1. **q**: 必填参数,代表查询字符串。它是任何Solr查询的基础,用于指定具体的查询条件。 2. **q.op**: 用来覆盖在`schema.xml`...

    solr开发技术总结

    通过监控 Solr 的性能指标,如查询响应时间、内存使用情况等,可以及时发现并解决问题。 总之,Solr 开发涉及多个方面,包括安装配置、索引构建与分布、查询优化以及集群管理。理解并熟练掌握这些技术,将有助于您...

    solr-使用安装介绍.doc

    Solr 提供了一个高效、可扩展且易用的平台,使得开发者能够轻松地集成全文搜索功能到各种应用程序中。 在安装 Solr 时,首先需要从官方网站或者第三方镜像站点下载对应版本的 Solr 包。在这个例子中,我们下载的是 ...

    开源企业搜索引擎SOLR的应用教程

    Solr不仅支持高度可定制化的全文检索,还提供了丰富的API,使得开发者能够轻松地集成搜索功能到他们的应用程序中。 #### 二、Solr的特性 ##### 1. Solr使用Lucene并且进行了扩展 - **基础**: Solr的基础架构建立在...

Global site tag (gtag.js) - Google Analytics