前言
1、使用映射类型来定义同一个索引中的多种文档类型
2、可以在映射中使用的不同字段类型
3、使用预定义的字段及其选项
4、上述这些如何帮助数据的索引、更新和删除
内容
3种类型字段,这些字段是元数据,es会自动管理它们
核心——这些字段包括字符串和数值型
数组和多元字段——这些字段在某个字段中存储相同核心类型的多个值。例如,tags字段可以拥有多个标签
预定义——这些字段包括_ttl和_timestamp
使用映射来定义各种文档
1、获取目前映射,新建类型的时候,如果不知道字段的映射,es会自动创建映射。
curl 'localhost:9200/get-together/group/_mapping?pretty'
2、定义新的映射(创建索引之后,可以向某类型中插入任何文档之前顶一个新的映射)
curl -XPUT 'localhost:9200/get-together/_mapping/new-events' -d '{
"new-events" : {
"properties" : {
"host" : {
"type" : "string"
}
}
}
}
3、扩展现有的映射:如果某个类型的映射目前含有两个来自初始映射的字段,外加定义的一个新字段。随着新字段的加入,初始的映射被扩展了,任何时候都支持这样的操作。es将此称为现有映射和先前提供的映射的合并。
- 并非所有的合并都是奏效的,例如:无法改变现有字段的数据类型,而且通常无法改变一个字段被索引的方式。合并操作失败会抛出:MergeMappingException的异常
解决方式:重新索引类型中的所有数据