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

    

最新文章

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

热门文章

  1. 图之单源Dijkstra算法、带负权值最短路径算法
  2. VirboxLM许可管理平台,一站式软件保护解决方案
  3. QC的使用简介
  4. c++趣味之shared_ptr额外好处
  5. Go基础之锁的初识
  6. Omron 论坛软件下载连接
  7. poj 1562 dfs
  8. ELK学习笔记(一)安装Elasticsearch、Kibana、Logstash和X-Pack
  9. canvas线条的属性
  10. 【Python】 SQLAlchemy的初步使用