ELK学习总结(2-6)elk的mapping
1、什么是映射
映射:创建索引的时候,预先定义字段的类型及相关属性
作用:这样会让索引建立的更加细致和完善,如:是否存储、使用何种分析器、重要级别
分类:静态映射和动态映射
2、字段类型:string、integer、long、float、double、boolean、date、binary
3、除了可以定义字段的类型意外,还可以定义字段的属性
store:yes存储,no不存储,默认是no
index:是否索引这个字段,anlyzed、not_anlyzed、或no,只有string类型可以设置索引
null_value:如果字段是空,可以设置一个默认值
boost:设置字段的权值,默认是1.0,如:书名(2.0),作者(1.0),检索时书名结果就靠前
index_analyzer:设置索引时用的分析器
search_analyzer:设置搜索时用的分析器
analyzer:分析器用于分词,默认standard(支持大多数欧洲语言),还可以设置whitespace(基于空格分词)、simple(基于非字母,并转换成小写)、english(英文分析器),
include_in_all:保证每个字段被搜索到,include_in_all=false,不然被搜索到
index_name:定义字段的名称,默认是字段本身的名字
norms:analyzed字段例,值有意义(true、not_analyzed=false)
4、动态映射:
文档中碰到以前没有见过的的字段时,动态映射决定该字段的类型,并自动添加映射
通过dynamic属性控制(true:默认值,动态添加字段;false:忽略新字段;strict:碰到新字段,抛出异常)
适用范围:跟对象或object类型的任意字段上。
5、示例
# 静态映射
POST /library
{
"settings":{
"number_of_shards":5,
"number_of_relicas":1
},
"mappings" :{
“books”:{
“properties”:{
“title”:{"type":"string"},
“name”:{"type":"string","index":"not_analyzed"},
“publish_date”:{"type":"date","index":"not_analyzed"},
“price”:{"type":"double"},
“number”:{"type":"integer"}
}
}
}
}
# 动态映射
PUT /library
{
"mappings" :{
“books”:{
"dynamic“:”strict“,
“properties”:{
“title”:{"type":"string"},
“name”:{"type":"string","index":"not_analyzed"},
“publish_date”:{"type":"date","index":"not_analyzed"},
“price”:{"type":"double"},
“number”:{
"type":"integer",
"dynamic":"true"
}
}
}
}
}
6、获取映射信息
GET /library/_mapping
GET /library/_mapping/books
GET /all/_mapping
GET /all/_mapping/books,bank_account
7、更新映射信息:
重新建立索引,重新定义映射,导入原有映射数据
具体步骤如下:
a、现有索引,建立别名
PUT /现有索引/_alias/别名A
b、建立新索引,定义好映射,别名指向新索引
c、删除老的索引,取消之前索引的指向
POST /_alias
{
"actions":{
{ "remove":{"index":"现有索引名",“alias”:“别名A”},
{ "add":{"index":"新建索引名",“alias”:“别名A”}
}
}
8、删除映射
DELETE /library/books
DELETE /library/books/_mapping
DELETE /library/_mapping/books,banks
ELK学习总结(2-6)elk的mapping的更多相关文章
- ELK学习实验013:ELK的一个完整的配置操作
前面做了关于ELK组件的各个实验,但是并没有真正的把各个组件结合起来做一个实验,现在使用一个脚本简单的生成日志,模拟生产不断产生日志的效果 一 流程说明 使用脚本产生日志,模拟用户的操作 日志的格式 ...
- ELK学习实验020:ELK使用kafka缓存
首先安装一个kafka集群,但是zookeeper使用单节点,可以让kafka快速跑起来,后续再研究kafka和zokkeeper的集群 1 安装Kafka集群 下面是三个节点都要做 [root@no ...
- ELK学习实验019:ELK使用redis缓存
1 安装一个redis服务 [root@node4 ~]# yum -y install redis 直接启动 [root@node4 ~]# systemctl restart redis [roo ...
- ELK学习链接
1. ELK原理与介绍 2. ELK部署记录
- ELK学习总结(4-1)elasticsearch更改mapping(不停服务重建索引)
elasticsearch更改mapping(不停服务重建索引)原文 http://donlianli.iteye.com/blog/1924721Elasticsearch的mapping一旦创建, ...
- ELK学习笔记(一)安装Elasticsearch、Kibana、Logstash和X-Pack
最近在学习ELK的时候踩了不少的坑,特此写个笔记记录下学习过程. 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因 ...
- ELK学习总结(1-1)ELK是什么
1.elk 是什么 ? Elastic Stack(旧称ELK Stack),是一种能够从任意数据源抽取数据,并实时对数据进行搜索.分析和可视化展现的数据分析框架.(hadoop同一个开发人员) ja ...
- ELK学习笔记之基于kakfa (confluent)搭建ELK
0x00 概述 测试搭建一个使用kafka作为消息队列的ELK环境,数据采集转换实现结构如下: F5 HSL–>logstash(流处理)–> kafka –>elasticsear ...
- ELK学习笔记之F5利用EELK进行应用数据挖掘系列(2)-DNS
0x00 概述 很多客户使用GTM/DNS为企业业务提供动态智能解析,解决应用就近性访问.优选问题.对于已经实施多数据中心双活的客户,则会使用GSLB提供双活流量调度.DNS作为企业业务访问的指路者, ...
随机推荐
- unix及Linux发展历程
unix及Linux发展历程 版权申明:本文资料为网上收集,由本人整理而成,转载请注明 一,unix诞生: Ken Thompson肯·汤普森 -------- unix之父 在1969年到1970间 ...
- Python3 多线程编程(thread、threading模块)
threading是对thread的封装. 1.开启线程: t=threading.Thread(target=sayhi,args=('hh',)) t.start() 或者先建一个Thread的继 ...
- delete操作字符串会报错吗?
其实是不会的."delete只能对对象属性进行操作"的说法是错误的,严谨来说,delete可以对任意变量类型进行操作,只不过只有对对象的属性才能操作成功,对其他变量类型操作失败罢了 ...
- js中, 用变量或对象作为if或其他条件的表达式
源: 因为js是弱语言, 就体现在js的变量是弱类型的, 在js中所有变量类型声明都用var, 而在其他强类型语言中,如java/c,必须有强制类型转换和类型检查才能编译通过等, 但是: 弱语言也有优 ...
- 使用 win10 的正确姿势
17年9月初,写了第一篇<使用 win10 的正确姿势>,而现在半年多过去,觉得文章得更新一些了,索性直接来个第二版吧. -----2018.3.24 写 一. 重新定义桌面 我的桌面: ...
- CSS(CSS3)选择器(2)
该部分主要为CSS3新增的选择器 接上一篇 CSS(CSS3)选择器(1) 一.通用兄弟选择器: 24:E ~ F,匹配任何E元素之后的同级F元素. div ~ p{ background-color ...
- 【Python】 获取MP3信息replica
replica 初衷是想要整理iphone中的音乐.IOS(我自己的手机还是IOS8.3,新版本的系统可能有变化了)自带的音乐软件中所有音乐文件都存放在/var/mobile/Media/iTunes ...
- 【Python】 http客户端库requests & urllib2 以及ip地址处理IPy
requests requests是个HTTPClient库,相比于urllib,urllib2等模块比更加简洁易用 ■ get请求 作为示例,讲一下关于requests如何发起并处理一个get请求 ...
- 关于JQuery的绑定方法
从jQuery1.7开始,jQuery引入了全新的事件绑定机制,on()和off()两个函数统一处理事件绑定.因为在此之前有bind(), live(), delegate()等方法来处理事件绑定,j ...
- 解决C盘中的文件不能修改问题
在不能修改的文件右击属性>点击安全>编辑>点击用户>完全控制. 步骤如图: 最后点击确定.