【ElasticSearch】:Mapping相关
Mapping
类似数据库中的表结构定义,主要作用如下:
- 定义Index下的字段名(Field Name)。
- 定义字段类型,例如数值型、字符串型、布尔型等。
- 定义倒排索引相关配置,比如是否索引、记录position等。
查看一个Index的Mapping的API
例如查看index为test_index的mapping,使用_mapping,查询结果中:
doc是这个index的type,忽略,ES6.X将废弃。
关注properties中的内容,每个字段及其字段类型(type) 。
自定义一个Index的Mapping的API
Mapping中的字段类型一旦设定后,禁止直接修改,因为底层基于Lucene实现的倒排索引生成后不允许修改。如果要修改,需要重建新的索引,然后做reindex操作。
dynamic参数
index级别的设置。
- true,默认值,允许自动新增字段
- false,不允许自动新增字段,新增字段的document可正常写入ES,但无法对新增字段查询
- strict,不允许自动新增字段,新增字段的document写入ES直接报错。
copy_to
字段级别的设置。
可以将多个已有字段都copy_to到 1个新字段,这样新生成的字段不占用存储,且方便查询。
index
字段级别的设置。
设置该字段是否可以被搜索,一般敏感信息字段设置为false,还可以节省倒排索引存储空间。
index_options
字段级别的设置。
设置倒排索引记录的内容。
null_value
字段级别的设置。
该字段录入ES的字段值为null时,可设置默认值。
dynamic_date_formats
字段级别的设置。
指定dynamic_date_formats可以让入库日期为date类型,否则有可能会是text类型。
动态模板Dynamic Mapping
目的:通用配置形成模板,简化mapping配置,减少配置工作量。
生产实践举例:
1.所有字符串类型默认都设置为keyword,即默认不分词,节约资源。
2.以message开头的字段设置为text,需要建立倒排索引分词检索。
3.double类型设定为float,节省存储空间。
4.支持设置多个动态模板,是从上至下执行的,只要匹配到就结束匹配。
索引模板Index Template
目的:类似于数据库的建表和定义表结构语句,固化索引创建操作,新建索引时自动应用预先设定的动态模板和mappings。
设置index_patterns参数,支持模式匹配索引。
支持配置多个索引模板,order大的优先级高。
查看和删除索引模板
最新文章
- 限制EditText最多输入多少汉字
- Nodejs+Express创建HTTPS服务器
- JMeter设置集合点
- webpack +vue开发(1)
- Openvswitch原理与代码分析(1):总体架构
- 127 2016 int
- Android 加入一个动作按钮
- 深拷贝 vs 浅拷贝 释放多次
- SQL中EXISTS的用法和效率
- 自动开机和自动关机设定方法(包括linux和windows)
- HDOJ 5073 Galaxy 数学 贪心
- ASP.NET 异步编程
- video标签
- 【机器学习笔记五】聚类 - k均值聚类
- 微信公众号支付提示mch_id参数格式错误
- dataguard日志自动删除
- Spring 学习——Spring AOP——AOP概念篇
- 设置了error_reporting(E_ALL)还是不显示错误
- 【PAT】B1042 字符统计(20 分)
- day18(javaEE三大组件之一servlet(简介(一)))
热门文章
- 《团队-爬取豆瓣电影TOP250-设计文档》
- 【转】Linux修改SSH端口和禁止Root远程登陆
- java.io.IOException: java.sql.SQLException: ORA-01502: index 'BTO.PK_xxxxx' or partition of such index is in unusable state
- 爬取微博的数据时别人用的是FM.view方法传递html标签那么jsoup怎么解析呢
- 2019.01.04 洛谷 P4721 【模板】分治 FFT
- HTML5 通过 FileReader 实现文件上传
- urllib — URL handling modules
- mongodb知识积累
- java学习2打架代码编写
- linux cp操作,每天学习一点