时间字段类型特别说明
  
  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. 零基础学python之函数与模块(附详细的代码和安装发布文件过程)

    代码重用——函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...

  2. Controller - 压力机的设置 - 界面图表分析

    一. Controller- 压力机界面的一下设置讲解   2种测试场景的设计和压测策略 二. Controller- 压力机界面的图表分析

  3. 百道Python入门级练习题(新手友好)第一回合——矩阵乘法

    题目描述 [问题描述] 编写程序,完成3*4矩阵和4*3整数矩阵的乘法,输出结果矩阵. [输入形式] 一行,供24个整数.以先行后列顺序输入第一个矩阵,而后输入第二个矩阵. [输出形式] 先行后列顺序 ...

  4. [Windows][C#][.NET][WPF]基于ArcFace2.0+红外双目摄像头的活体检测

    废话不多说 直接上图这个是demo中用到的双目摄像头,一个是红外的,一个是正常的rgb摄像头两个usb接口,在电脑上呈现两路摄像头通道程序检测RGB输出图像,当检测到有人脸时,用RGB人脸的位置到红外 ...

  5. JavaScript中数组中遍历的方法

    前言 最近看了好几篇总结数组中遍历方法的文章,然而"纸上得来终觉浅",决定此事自己干.于是小小总结,算是自己练手了. 各种数组遍历方法 数组中常用的遍历方法有四种,分别是: for ...

  6. [java] jar file

    查看 .jar 内的文件 jar tf jarfile.jar maven 项目中, java 读取目标文件 运行 mvn package 打包项目是, src/main/resources 下的文件 ...

  7. OO第四阶段总结

    一.测试与正确性论证的区别 从哲学的角度来说,正确性论证与测试的关系就像理论与实践的关系一样. 使用测试的方法检验程序正确性确实是一个非常方便可行且广泛运用的方法.可以通过几个简单或复杂的测试样例,迅 ...

  8. GITHUB随笔 15-5月 junit

    junit 是用来做单元测试的一个工具  测试是一个持续的过程.也就是说测试贯穿与开发的整个过程中,单元测试尤其适合于迭代增量式的开发过程. @ignore:   该元数据标记的测试方法在测试中会被忽 ...

  9. C#窗体随机四则运算 (第四次作业)

    ---恢复内容开始--- 增量内容:1)处理用户的错误输入,比如输入字母或符号等,处理除法运算中分母为0的情况,处理结果为负数的情况,保证是小学水平不出现负数,比如不能出现5-8=-3这种情况:2)用 ...

  10. Oracle 11g R2 for Win7旗舰版(64位)- 安装

    1.下载Oracle 11g R2 for Windows的版本                                   下载地址:http://www.oracle.com/techne ...