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. Liveness 探测 - 每天5分钟玩转 Docker 容器技术(143)

    Liveness 探测让用户可以自定义判断容器是否健康的条件.如果探测失败,Kubernetes 就会重启容器. 还是举例说明,创建如下 Pod: 启动进程首先创建文件 /tmp/healthy,30 ...

  2. 快速开发基于 HTML5 网络拓扑图应用之 DataBinding 数据绑定篇

    前言 发现大家对于我从 json 文件中直接操作节点属性来控制界面的动态变化感到比较好奇,所以这篇就针对数据绑定以及如何使用这些绑定的数据做一篇说明,我写了一个简单的例子,基于机房工控的服务器上设备的 ...

  3. CSS3字体发光效果

    text-shadow 该属性为文本添加阴影效果 text-shadow: h-shadow v-shadow blur color; h-shadow: 水平阴影的位置(阴影水平偏移量),可为负值, ...

  4. python笔记之异常

    异常 內建异常在exceptions模块内,使用dir函数列出模块的内容. 自定义异常类:继承基类Exception. 异常可以使用raise语句引发,可以使用try ... except ... e ...

  5. Batch update returned unexpected row count from update [0] 异常处理

    在one-to-many时遇到此异常,本以为是配置出错.在使用s标签开启debug模式,并在struts2主配置文件中添加异常映射,再次提交表单后得到以下异常详情. org.springframewo ...

  6. python3 爬虫开发 学习总结一

    virtualenv 安装虚拟环境的   pip install  virtualenv安装慢的话,可以指定源    pip install  -i  源地址  xxx  就可以安装xxxvirtua ...

  7. 【BootStrap】 布局组件 I

    BootStrap布局组件 I 除了在原生的HTML基础上进行了外观和类别上的改进,BS还包装了很多组件进库中,设计网页时我们可以方便地调用这些组件.下面来简略地介绍一下各种各样的组件 ■ 字体图标 ...

  8. 理解HDFS

    综述 当数据集的大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分区并存储到若干台单独的计算机上.HDFS是hadoop的主要分布式存储系统,一个HDFS集群主要包括NameNode用来管理 ...

  9. 程序猿媛 九:Adroid zxing 二维码3.1集成(源码无删减)

    Adroid zxing 二维码3.1集成 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段. 转载请保留原文出处“http://my.oschina.net/gluoyer/blog”, ...

  10. CodeBlocks使用介绍

    CodeBlocks对单个文件没法调试,需要建工程后才能调试,所以使用CodeBlocks必须先建工程. 一.如何用CodeBlocks建工程文件. 选择File->New->Projec ...