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

 

 

    

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值