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
最新文章
- 【NLP】条件随机场知识扩展延伸(五)
- json死循环问题
- win7 64+python2.7.12安装numpy+scipy+matplotlib+scikit-learn
- CListCtrl中删除多个不连续的行
- APP主流UI框架结构
- 学生信息管理系统应用ios源码iPad版
- player/stage 学习---安装
- LightOJ 1033 Generating Palindromes(dp)
- Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0
- C#Windows Form简易计算器实现(中)
- Android:View颤抖的动画效果代码
- 老李案例分享:Weblogic性能优化案例
- 电子笔记本的思考(1)(ver0.3)
- Python档案袋( 进程与协程 )
- bui前端框架+yii整理
- python自动化测试常用断言的使用方法
- django中邮件、日志的配置
- Linux搭建bugfree
- Java文件编译出现 “编码 GBK 的不可映射字符”
- funny