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. testng及JMeter使用之初体验

            这里只是简单的说下我再项目中使用testng的JMeter使用的情况, 主要的是使用JMeter的体验, 都是以截图和文字为说明的.   1, 性能测试之testng     直接可以 ...

  2. htop命令使用详解

    一.htop 简介 htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses.与Linux传统的top相比,htop更加人性化.它可让用户 ...

  3. redis笔记总结之redis安装

    二.Redis安装 2.1 Redis下载 官网地址:http://redis.io/ 下载地址:http://download.redis.io/releases/redis-3.0.0.tar.g ...

  4. Linq to sharepoint

    一.Linq to SharePoint 首先Linq to SharePoint编程语言 C# 和 Microsoft Visual Basic .NET 的一个功能,编译器是 Visual Stu ...

  5. Clion下jni配置

    Clion非常适合写C++程序 首先把C:\Program Files\Java\jdk1.7.0_79\include和C:\Program Files\Java\jdk1.7.0_79\inclu ...

  6. setup命令的安装

    2018-03-01  10:25:18 最小化安装的Linux系统,setup命令使用不了 安装方法:yum install setuptool    #安装完以后,只要直接输入 setup,就会出 ...

  7. 你学会UI设计了吗?

    你学会UI设计了吗? UI设计师如何前驱? 关于产品 作为一个UI设计师,我们还在干巴巴的等着产品经理甚至交互提供的需求和原型再开始动手吗?这样被动的工作是永远无法提升自己的,当然你也永远只能拿到几千 ...

  8. Spring Boot 1.4测试的改进

    对Pivotal团队来说,工作上的好事情是他们拥有一个被叫做Pivotal Labs的灵活发展部门,拥有Labs团队的Lean 和 XP程序设计方法学的强大支持,例如结对编程和测试驱动开发.他们对于测 ...

  9. Python 中列表生成式和生成器

    列表生成式 即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1,2,3,4,5,6,7,8,9,10]可以用l ...

  10. 漫谈Java IO之 Netty与NIO服务器

    前面介绍了基本的网络模型以及IO与NIO,那么有了NIO来开发非阻塞服务器,大家就满足了吗?有了技术支持,就回去追求效率,因此就产生了很多NIO的框架对NIO进行封装--这就是大名鼎鼎的Netty. ...