es支持大多数java里面的数据类型:
(一)核心数据类型:
(1)string: 默认会被分词,一个完整示例如下
- "status": {
- "type": "string", //字符串类型
- "index": "analyzed"//分词,不分词是:not_analyzed ,设置成no,字段将不会被索引
- "analyzer":"ik"//指定分词器
- "boost":1.23//字段级别的分数加权
- "doc_values":false//对not_analyzed字段,默认都是开启,分词字段不能使用,对排序和聚合能提升较大性能,节约内存
- "fielddata":{"format":"disabled"}//针对分词字段,参与排序或聚合时能提高性能,不分词字段统一建议使用doc_value
- "fields":{"raw":{"type":"string","index":"not_analyzed"}} //可以对一个字段提供多种索引模式,同一个字段的值,一个分词,一个不分词
- "ignore_above":100 //超过100个字符的文本,将会被忽略,不被索引
- "include_in_all":ture//设置是否此字段包含在_all字段中,默认是true,除非index设置成no选项
- "index_options":"docs"//4个可选参数docs(索引文档号) ,freqs(文档号+词频),positions(文档号+词频+位置,通常用来距离查询),offsets(文档号+词频+位置+偏移量,通常被使用在高亮字段)分词字段默认是position,其他的默认是docs
- "norms":{"enable":true,"loading":"lazy"}//分词字段默认配置,不分词字段:默认{"enable":false},存储长度因子和索引时boost,建议对需要参与评分字段使用 ,会额外增加内存消耗量
- "null_value":"NULL"//设置一些缺失字段的初始化值,只有string可以使用,分词字段的null值也会被分词
- "position_increament_gap":0//影响距离查询或近似查询,可以设置在多值字段的数据上火分词字段上,查询时可指定slop间隔,默认值是100
- "store":false//是否单独设置此字段的是否存储而从_source字段中分离,默认是false,只能搜索,不能获取值
- "search_analyzer":"ik"//设置搜索时的分词器,默认跟ananlyzer是一致的,比如index时用standard+ngram,搜索时用standard用来完成自动提示功能
- "similarity":"BM25"//默认是TF/IDF算法,指定一个字段评分策略,仅仅对字符串型和分词类型有效
- "term_vector":"no"//默认不存储向量信息,支持参数yes(term存储),with_positions(term+位置),with_offsets(term+偏移量),with_positions_offsets(term+位置+偏移量) 对快速高亮fast vector highlighter能提升性能,但开启又会加大索引体积,不适合大数据量用
- }
(2)数字类型主要如下几种:
long:64位存储
integer:32位存储
short:16位存储
byte:8位存储
double:64位双精度存储
float:32位单精度存储
支持参数:
- coerce:true/false 如果数据不是干净的,将自动会将字符串转成合适的数字类型,字符串会被强转成数字,浮点型会被转成整形,经纬度会被转换为标准类型
- boost:索引时加权因子
- doc_value:是否开启doc_value
- ignore_malformed:false(错误的数字类型会报异常)true(将会忽略)
- include_in_all:是否包含在_all字段中
- index:not_analyzed默认不分词
- null_value:默认替代的数字值
- precision_step:16 额外存储对应的term,用来加快数值类型在执行范围查询时的性能,索引体积相对变大
- store:是否存储具体的值
(3)复合类型
数组类型:没有明显的字段类型设置,任何一个字段的值,都可以被添加0个到多个,要求,他们的类型必须一致:
对象类型:存储类似json具有层级的数据
嵌套类型:支持数组类型的对象Aarray[Object],可层层嵌套
(4)地理类型
geo-point类型: 支持经纬度存储和距离范围检索
geo-shape类型:支持任意图形范围的检索,例如矩形和平面多边形
(5)专用类型
ipv4类型:用来存储IP地址,es内部会转换成long存储
completion类型:使用fst有限状态机来提供suggest前缀查询功能
token_count类型:提供token级别的计数功能
mapper-murmur3类型:安装sudo bin/plugin install mapper-size插件,可支持_size统计_source数据的大小
附件类型:需要https://github.com/elastic/elasticsearch-mapper-attachments开源es插件支持,可存储office,html等类型
(6)多值字段:
一个字段的值,可以通过多种分词器存储,使用fields参数,支持大多数es数据类型
(二)Mapping 参数列表,上面文章出现过的不再解释:
序号 | 名称 | 解释 |
1 | copy_to | 与solr里面的copy_field字段功能一样,支持拷贝某个字段的值到集中的一个字段里面 |
2 | properties | mapping type,对象字段和嵌套字段可以包含子字段,这些属性可以被添加进去,例子如下 |
官网文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html#_multi_fields_2
http://qindongliang.iteye.com/blog/2259541
相关推荐
文章目录简介示例注意事项 ...#给example索引添加字段映射,默认docs类型 PUT example/docs/_mapping { properties: { id:{ type:long }, name:{ type:keyword }, age:{ type:integer },
arcgis elasticSearch es 矢量数据导入插件 数据建模 mapping indexsetting 字段映射 索引建模支持geoshape、shape,text索引支持keyword/ngram/edgeNgram/ikSmart,快速导入,兼容multipolygon,带洞,多面,使用时...
arcgis elasticSearch es 矢量数据导入插件 数据建模 mapping indexsetting 字段映射 索引建模支持geoshape、shape,text索引支持keyword/ngram/edgeNgram/ikSmart,快速导入,兼容multipolygon,带洞,多面,使用时...
ElasticSearch映射生成器该工具允许在创建索引时为索引生成映射或设置。 使用注释描述定义的映射字段安装二进制文件部署在Maven Central上,您可以将工件导入到您的项目中: < dependency> < groupId>...
一、Mapping介绍 1)什么是Mapping ? 备注:7.0版本后ES,是通过自动识别字段...6) 能否修改Mapping字段的类型 二、Demo 7)常规Mapping添加删除 #写入文档,查看 Mapping PUT mapping_test/_doc/1 { firstName:
分布式搜索elasticsearch java API 之(二)--- put Mapping定义索引字段属性 3 分布式搜索elasticsearch java API 之(三)--- 索引数据 6 分布式搜索elasticsearch java API 之(四)--- 删除索引数据 7 分布式...
elasticsearch5.5.0 的增删改查java api操作 支持新建mapping 根据实体类的注解方式生成 支持ik分词 支持新建index 根据实体类注解 支持删除index 增删改查操作都很详细 网上的版本大多数都是2.x的 最新的和旧的...
Python中的MySQL数据同步到Elasticsearch(ES),使用pymysql库连接到MySQL数据库,并执行查询操作获取数据,从MySQL中获取数据,在Elasticsearch中创建一个索引,用于存储MySQL数据,定义映射(mapping),以指定...
可以使用ElasticSearch接收节点或直接在Kibana中完成映射,如下所述。 完成后,映射仅适用于新数据,应使用新索引来完成。 这是因为(由于Elastic的工作原理)如果在混合索引中进行提取,则将导致新旧字段名称之间...
05-04 -字段类查询简介及match-query.avi 05-05 -相关性算分.mp4.avi 05-06 -match-phrase-query_音频.mp4.avi 05-07 -query-string-query.avi 05-08 -simple-query-string-query.avi 05-09 -term-terms-query.avi ...
## ElasticSearch ### 概念 - 倒排索引 - 文档:每一条数据就是一个文档 - 词条:由文档分词得到,为词条创建索引 - 查询过程:将用户的搜索内容进行分词,根据词到索引中进行查找 - 与正向索引比较:正向...
Elasticsearch2Excel插件(增强版) ## Elasticsearch2Excel插件可生成Excel报告 该插件最初是由Raghavendar( )开发的。 该软件的增强版本提供以下新功能: Excel版本> = 2007的报告生成。 创建xlsx文件的优点是...
把需要检索的业务数据,统一放到一张MySQL 表中,这张中间表对应了业务需要的Elasticsearch 索引,每一列对应索引中的一个Mapping 字段。通过脚本以 Crontab 的方式,读取 MySQL 中间表中 UTime 大于上
Kibana插件,用于将XLSX / CSV文件导入到ElasticSearch 安装 使用此示例或手动选择 /opt/kibana/bin/kibana-plugin install ...
一、保存过程 ...4,修改tb_user类,创建一个set类型的字段emailes,生成它的set和get方法 5,写测试类,对以上内容进行测试。 二、遍历过程 修改test类,编写相应的遍历过程,详见test_遍历类文件。
makelogs, 生成测试kibana的示例日志的简单脚本 makelogs用于将假HTTP流量日志推送到elasticsearch的简单生成器。...这个版本的makelogs设计用来与elasticsearch主机的最新构建一起工作,并且不兼容以前的版本。事件
弹性映射器 用于将 ActiveModel 与 ElasticSearch 集成的该死的简单 mixin。...映射向 ElasticSearch 指示应该如何索引文档的字段: ElasticMapper 提供了一种mapping方法,用于描述这些映射。 def Article < Ac
设置mapping 设置当前索引库的mappings信息 { mappings:{ govBaseLog:{ properties:{ id:{ type:long, store:true }, title:{ type:text, store:true, index:true, ...
配置elasticsearch数据和其他字段: vim config/default.js 下一步: 码头工人运行-p 9200:9200 -p 9300:9300 -e“ discovery.type = single-node” elasticsearch:5.5.2-alpine curl -X PUT http:// ...
从任意非结构化日志数据中导出指标。 关于格罗克 是一种将cr脚的非结构化日志数据解析为结构化和可查询内容的工具。 Grok在大量使用,以提供日志数据作为输入。 Grok附带了大约120种预定义模式,用于syslog日志,...