时间字段类型特别说明
  
  Solr中提供的时间字段类型( DatePointField, DateRangeField,废除的TrieDateField )是以时间毫秒数来存储时间的。
  
  要求字段值以ISO-8601标准格式来表示时间:YYYY-MM-DDThh:mm:ssZ
  
  Z表示是UTC时间(注意:就没有时区了)。1999-05-20T17:33:18Z
  
  秒上可以带小数来表示毫秒,超出精度部分会被忽略:
  
  1972-05-20T17:33:18.772Z
  
  1972-05-20T17:33:18.77Z
  
  1972-05-20T17:33:18.7Z
  
  公元前:在前面加减号 - 9999后,在前面加加号 +
  
  注意:查询时如果是直接的时间串,需要用转移符转义:
  
  datefield:1972-05-20T17\:33\:18.772Z
  
  datefield:"1972-05-20T17:33:18.772Z"
  
  datefield:[1972-05-20T17:33:18.772Z TO *]
  
  DateRangeField 时间段类型特别说明
  
  DateRangeField用来支持对时间段数据的索引,它遵守上一页讲到的时间格式,支持两种时间段表示方式:
  
  方式一:截断日期,它表示整个日期跨度的精确指示。
  
  方式二:范围语法 [ TO ] { TO }
  
  2000-11 表示2000年11月整个月.
  
  2000-11T13 表示200年11月每天的13点这一个小时
  
  -0009 公元前10年,0000是公元前1年。
  
  [2000-11-01 TO 2014-12-01] 日到日
  
  [2014 TO 2014-12-01] 2014年开始到2014-12-01止.
  
  [* TO 2014-12-01] 2014-12-01(含)前.
  
  时间数学表达式
  
  Solr中还支持用 NOW +- 时间的数学表达式来灵活表示时间。语法 NOW +- 带单位的时间数,/单位 截断。可用来表示时间段。
  
  NOW+2MONTHS
  
  NOW-1DAY
  
  NOW/HOUR
  
  NOW+6MONTHS+3DAYS/DAY
  
  1972-05-20T17:33:18.772Z+6MONTHS+3DAYS/DAY
  
  NOW在查询中使用时,可为NOW指定值
  
  q=solr&fq=start_date:[* TO NOW]&NOW=1384387200000
  
  EnumFieldType 枚举字段类别说明
  
  EnumFieldType 用于字段值是一个枚举集,且排序顺序可预定的情况,如新闻分类这样的字段。定义非常简单:
  
  <fieldType name="priorityLevel" class="solr.EnumFieldType" docValues="true" enumsConfig="enumsConfig.xml" enumName="priority"/>
  
  enumsConfig:指定枚举值的配置文件,绝对路径或相对 内核conf/的相对路径
  
  enumName:指定配置文件的枚举名。排序顺序是按配置的顺序。
  
  docValues : 枚举类型字段必须设置 true;
  
  枚举配置示例
  
  <?xml version="1.0" ?>
  
  <enumsConfig>
  
  <enum name="priority">
  
  <value>Not Available</value>
  
  <value>Low</value>
  
  <value>Medium</value>
  
  <value>High</value>
  
  <value>Urgent</value>
  
  </enum>
  
  <enum name="risk">
  
  <value>Unknown<www.dasheng178.com /value>
  
  <value>Very Low</value>
  
  <value>Low<www.mcyllpt.com www.tiaotiaoylzc.com/ /value>
  
  <value>Medium<www.mushi157.com /value>
  
  <value>High</value>
  
  <value>Critical</value>
  
  </enum>
  
  </enumsConfig>
  
  练习4 定义Field
  
  prodId:商品id,字符串,不索引、存储;
  
  name: 商品名称,字符串,分词、索引、存储
  
  simpleIntro:商品简介,字符串,分词、索引、不存储
  
  price:价格,整数(单位分),索引,存储
  
  uptime:上架时间,索引、docValues 支持排序
  
  <field name=“” type=“”www.fengshen157.com default=“www.michenggw.com ” indexed="true" stored="true"/>
  
  dynamic Field 动态字段
  
  问:如果模式中有近百个字段需要定义,其中有很多字段的定义是相同,重复地定义是不是很烦?
  
  可不可以定一个规则,字段名以某前缀开头或结尾的是相同的定义配置,那这些重复字段就只需要配置一个,保证提交的字段名称遵守这个前缀、后缀即可。
  
  这就是动态字段。
  
  如:整型字段都是一样的定义,则可以定义一个动态字段如下:
  
  <dynamicField name="*_i" type=“my_int" indexed="true" stored="true"/>
  
  也可以是前缀,如 name=“i_*”

搜索引擎(Solr-索引详解)的更多相关文章

  1. Solr系列三:solr索引详解(Schema介绍、字段定义详解、Schema API 介绍)

    一.Schema介绍 1. Schema 是什么? Schema:模式,是集合/内核中字段的定义,让solr知道集合/内核包含哪些字段.字段的数据类型.字段该索引存储. 2. Schema 的定义方式 ...

  2. Solr部署详解

    Solr部署详解 时间:2013-11-24 方式:转载 目录 1 solr概述 1.1 solr的简介 1.2 solr的特点 2 Solr安装 2.1 安装JDK 2.2 安装Tomcat 2.3 ...

  3. MySQL 联合索引详解

    MySQL 联合索引详解   联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c ...

  4. Oracle索引详解

    Oracle索引详解(二) --索引分类   Oracle 提供了大量索引选项.知道在给定条件下使用哪个选项对于一个程序的性能来说非常重要.一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程 ...

  5. 【详细解析】MySQL索引详解( 索引概念、6大索引类型、key 和 index 的区别、其他索引方式)

    [详细解析]MySQL索引详解( 索引概念.6大索引类型.key 和 index 的区别.其他索引方式) MySQL索引的概念: 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分 ...

  6. elasticsearch系列二:索引详解(快速入门、索引管理、映射详解、索引别名)

    一.快速入门 1. 查看集群的健康状况 http://localhost:9200/_cat http://localhost:9200/_cat/health?v 说明:v是用来要求在结果中返回表头 ...

  7. ES系列七、ES-倒排索引详解

    1.单词——文档矩阵 单词-文档矩阵是表达两者之间所具有的一种包含关系的概念模型,图3-1展示了其含义.图3-1的每列代表一个文档,每行代表一个单词,打对勾的位置代表包含关系. 图3-1 单词-文档矩 ...

  8. elasticsearch系列三:索引详解(分词器、文档管理、路由详解(集群))

    一.分词器 1. 认识分词器  1.1 Analyzer   分析器 在ES中一个Analyzer 由下面三种组件组合而成: character filter :字符过滤器,对文本进行字符过滤处理,如 ...

  9. Solr系列五:solr搜索详解(solr搜索流程介绍、查询语法及解析器详解)

    一.solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query ...

  10. MySQL 索引详解大全

    什么是索引? 1.索引 索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据.对于索引,会保存在额外的文件中. 2. 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结 ...

随机推荐

  1. POSTMAN接口测试get和post

    GET 1.在URL栏里输入想要访问的IP,并点击旁边的Params,对具体要查询的内容进行复制,百度对要查询的字段的key是wd 这里将参数值的勾选取消掉可以看到URL内容的变化,查询字段消失 2. ...

  2. python虚拟环境管理之virtualenv,virtualenvwrapper,pipenv,conda

    虚拟环境的作用 使python环境拥有独立的包,避免污染原本的python环境.为不同的项目创建不同的环境可以避免安装的库过于庞大和相互干扰. 例如你想在同一台机器上开发用python2和python ...

  3. AlexNet——ImageNet Classification with Deep Convolutional Neural Networks

    1. 摘要 本文的模型采用了 5 层的卷积,一些层后面还紧跟着最大池化层,和 3 层的全连接,最后是一个 1000 维的 softmax 来进行分类. 为了减少过拟合,在全连接层采取了 dropout ...

  4. Shader做剪影效果

    某渣渣甩了一个需求给我,并且说我不会写.我明知是激将法,但是想想这需求也太简单了,我好像也不怎么会QAQ.为了表示我对shader的热爱,写就写. 需求是这样的: 这是一个漂亮的MM,但是渣渣不想让人 ...

  5. 我眼中的PD(产品狗)

    以下内容可能引起您的不适(前方高能),请先移步科普: 产品经理为什么会存在? 本猿 -> web程序属 -> 前端开发种,从大森林迁徙到了小草原: 小草原物种稀缺,除了 程序猿,很难见到诸 ...

  6. oracle将多个结果集用逗号拼接成字符串

    有两个函数wmsys.wm_concat和listagg 1,SELECT wmsys.wm_concat(CATALOG_NAME) FROM "DATASHARE"." ...

  7. bootstrap table的展开行问题

    照着网上与api里说的添加detailView属性设置为true,detailFormatter属性为展开后的内容,但是设置之后发现,在表格每一行最前面是多出一列正常该显示"+"的 ...

  8. 北航MOOC系统Android客户端NABC

    北航MOOC手机客户端NABC分析 1) N (Need 需求) MOOC是Massive Open Online Course的缩写,通常被译为大型开放式网络课程,它最早在08年的时候由一位加拿大的 ...

  9. Task 6.4 冲刺Two之站立会议3

    今天我参考各种聊天软件的主界面,仿照他们的形式对其中的界面和功能进行设置.重新完善了一下昨天完成的主要功能结构的框架.将各个功能按钮分别放到相应的位置,使界面看起来更加地合理,易于接受.

  10. php之 常用的 流程管理

    1.流程管理的用法是什么样的? 2.怎么发起想要的流程? 3.审批的人要是怎么审批通过? 4.流程审核是不是要挨个走过? 一.要有数据库的内容的 肯定会有表的,首先就是用户表了,然后就是流程表,用户编 ...