zoukankan      html  css  js  c++  java
  • 1.4.2 solr字段类型--(1.4.2.4)使用Dates(日期)

    1.4.2 solr字段类型

      (1.4.2.1) 字段类型定义和字段类型属性.

      (1.4.2.2) solr附带的字段类型

      (1.4.2.3) 使用货币和汇率

      (1.4.2.4) 使用Dates(日期)

      (1.4.2.5) 使用枚举字段

      (1.4.2.6) 使用外部文件和程序

      (1.4.2.7) 字段属性使用案例

    使用Dates(日期)

    日期格式

      solr的TrieDateField(DateField已经弃用)字段类型,表示精确到毫秒的时间点.在XML Schema 规范中所使用的格式是一个严格的日期事件的规范表示格式.

      YYYY-MM-DDThh:mm:ssZ:

        YYYY:年

        MM:月

        DD:日

        hh:24进制小时

        mm:分钟

        ss:秒

        Z:表示UTC时间

      注意:没有时区可以指定,这个日期字符串一般表示UTC时间.这里有一个例子:

      1972-05-20T17:33:18Z

      你可以选择加入部分小数,不允许在末尾加0,任何精确度超出毫秒的均被忽略掉:

      1972-05-20T17:33:18.772Z
      1972-05-20T17:33:18.77Z
      1972-05-20T17:33:18.7Z

    Date的数学运算

      solr的日期字段类型同样支持日期的数学运算表达式,这使它很容易的及时创建时间相对于固定的时刻而言,当前时间可以用"NOW"来表示:

    日期数学运算语法

      日期表达式可以添加一些指定单位的时间数字,也可以对当前时间通过指定的单位来四舍五入.表达式可以链式的,从左到右执行.斜杠"/"表示四舍五入.

     例子:

      表示两个月之后的当前时间点:NOW+2MONTHS

      表示一天以前的时间点:NOW-1DAY

      表示当前小时开始:NOW/HOUR

      下面计算(精确到毫秒)未来6个月又3天的时间点,然后四舍五入时间到天(day):

      NOW+6MONTHS+3DAYS/DAY

      混合方式:1972-05-20T17:33:18.772Z+6MONTHS+3DAYS/DAY

    请求参数

     NOW

      example:

        q=solr&fq=start_date:[* TO NOW]&NOW=1384387200000

     TZ

      默认的,所有日期的数学表达式都是相对于UTC时区来评估的.TZ属性可以指定时区.来覆盖默认的UTC时区.

      例如,这个请求对当前月的每一天使用分面范围查询,时区为UTC.

    http://localhost:8983/solr/select?q=*:*&facet.range=my_date_field&facet=true
    &facet.range.start=NOW/MONTH&facet.range.end=NOW/MONTH%2B1MONTH&facet.range.gap=%2B1DAY

      结果:

    <int name="2013-11-01T00:00:00Z">0</int>
    <int name="2013-11-02T00:00:00Z">0</int>
    <int name="2013-11-03T00:00:00Z">0</int>
    <int name="2013-11-04T00:00:00Z">0</int>
    <int name="2013-11-05T00:00:00Z">0</int>
    <int name="2013-11-06T00:00:00Z">0</int>
    <int name="2013-11-07T00:00:00Z">0</int>

      指定时区:

    http://localhost:8983/solr/select?q=*:*&facet.range=my_date_field&facet=true
    &facet.range.start=NOW/MONTH&facet.range.end=NOW/MONTH%2B1MONTH&facet.range.gap=%2B1DAY
    &TZ=America/Los_Angeles

    结果:

    <int name="2013-11-01T07:00:00Z">0</int>
    <int name="2013-11-02T07:00:00Z">0</int>
    <int name="2013-11-03T07:00:00Z">0</int>
    <int name="2013-11-04T08:00:00Z">0</int>
    <int name="2013-11-05T08:00:00Z">0</int>
    <int name="2013-11-06T08:00:00Z">0</int>
    <int name="2013-11-07T08:00:00Z">0</int>
  • 相关阅读:
    Hadoop 的版本问题
    SSH 端口转发原理
    KM算法
    最大流算法小结
    pku 2195 KM算法求最小权二分匹配
    SAP(最短增广路算法) 最大流模板
    最大流模板
    pku 1459 最大流 SAP
    pku Drainage Ditches 简单最大流 直接套模板 注意可能有重边
    推荐:吴军 谷歌黑板报 《浪潮之颠》
  • 原文地址:https://www.cnblogs.com/a198720/p/4284348.html
Copyright © 2011-2022 走看看