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的更多相关文章

  1. ELK学习实验013:ELK的一个完整的配置操作

    前面做了关于ELK组件的各个实验,但是并没有真正的把各个组件结合起来做一个实验,现在使用一个脚本简单的生成日志,模拟生产不断产生日志的效果 一 流程说明 使用脚本产生日志,模拟用户的操作 日志的格式 ...

  2. ELK学习实验020:ELK使用kafka缓存

    首先安装一个kafka集群,但是zookeeper使用单节点,可以让kafka快速跑起来,后续再研究kafka和zokkeeper的集群 1 安装Kafka集群 下面是三个节点都要做 [root@no ...

  3. ELK学习实验019:ELK使用redis缓存

    1 安装一个redis服务 [root@node4 ~]# yum -y install redis 直接启动 [root@node4 ~]# systemctl restart redis [roo ...

  4. ELK学习链接

    1.  ELK原理与介绍 2. ELK部署记录

  5. ELK学习总结(4-1)elasticsearch更改mapping(不停服务重建索引)

    elasticsearch更改mapping(不停服务重建索引)原文 http://donlianli.iteye.com/blog/1924721Elasticsearch的mapping一旦创建, ...

  6. ELK学习笔记(一)安装Elasticsearch、Kibana、Logstash和X-Pack

    最近在学习ELK的时候踩了不少的坑,特此写个笔记记录下学习过程. 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因 ...

  7. ELK学习总结(1-1)ELK是什么

    1.elk 是什么 ? Elastic Stack(旧称ELK Stack),是一种能够从任意数据源抽取数据,并实时对数据进行搜索.分析和可视化展现的数据分析框架.(hadoop同一个开发人员) ja ...

  8. ELK学习笔记之基于kakfa (confluent)搭建ELK

    0x00 概述 测试搭建一个使用kafka作为消息队列的ELK环境,数据采集转换实现结构如下: F5 HSL–>logstash(流处理)–> kafka –>elasticsear ...

  9. ELK学习笔记之F5利用EELK进行应用数据挖掘系列(2)-DNS

    0x00 概述 很多客户使用GTM/DNS为企业业务提供动态智能解析,解决应用就近性访问.优选问题.对于已经实施多数据中心双活的客户,则会使用GSLB提供双活流量调度.DNS作为企业业务访问的指路者, ...

随机推荐

  1. css学习の第二弹—文字格式化排版

    1.css格式化排版 >>字体设计: etc:body{font-family:"Microsoft Yahei";} >>字号,颜色: etc:body{ ...

  2. java语言与jvm虚拟机简介

    一.java语言 1.1 支持面向对象编程oop 强调支持,因为java同样可以面向过程编程. oop的三大特性是:封装.继承.多态. 封装主要针对成员变量而言,oop的思想要求成员变量均为私有,不应 ...

  3. 浅析JavaScript的prototype

    一.JavaScript对象的创建 (1)对象方法 function Student(name){ this.name=name; this.showName=function(){ alert(&q ...

  4. 使用padding来合理布局自己的容器类

    这两天一直忙着前端UI的事,前端布局这块下了很多工夫,很多第三方布局框架如Bootstrap和layUI等虽然很好使用,但是前端你懂的,实际用起来总得缝缝补补,烦啊. 今天就遇到了一个要让div容器内 ...

  5. thinkphp3.2-更改控制器名后找不到相应的表?报1146的错

    用tp在做着自己的小系统的时候,明明在刚才还是能好好地查到表的,在Service用了'D'方法连自己数据库的表,只是更改了自己的控制器名,却报错了... 我就纳闷了,虽然我的控制器和Service用的 ...

  6. Ajax与服务器(JSON)通信介绍

    本文主要介绍使用Ajax与服务器(JSON)通信方法,谈谈Ajax提供的两类服务器通信手段:同步通信和异步通信.有需要的可以了解一下.毕竟这个时代出了很多东西,自动化构建工具,mvvm框架等等.Jav ...

  7. C语言的文件读写操作函数小结

    一.文件打开 使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE包含了所有用来控制流的必要的信息.函数原型为: FILE ...

  8. java数据结构与算法之栈(Stack)设计与实现

    本篇是java数据结构与算法的第4篇,从本篇开始我们将来了解栈的设计与实现,以下是本篇的相关知识点: 栈的抽象数据类型 顺序栈的设计与实现 链式栈的设计与实现 栈的应用 栈的抽象数据类型 栈是一种用于 ...

  9. java基础笔记(3)----函数

    前言引入函数前,所有的代码都写在main主函数中,代码过多,代码冗余,可读性差. 引入函数后,函数是实现某一特定功能的代码块.一个类中可以定义多个函数,每个函数和main主函数都是并列关系. 函数: ...

  10. PHP 引用是个坑,请慎用

    去年我参加了很多次会议,其中八次会议里我进行了相关发言,这其中我多次谈到了 PHP 的引用问题,因为很多人对它的理解有所偏差.在深入讨论这个问题之前,我们先回顾一下引用的基本概念,明确什么是" ...