1:es 索引与数据结构映射
----es索引说明:
索引结构: index/type/id
对应的关系型数据库结构 index = database , type = table , id = id
----默认
--插入新的索引
PUT test-index/default/1
{
"test":"one",
"other":1
}
--查询索引与数据结构
GET test-index/_mapping?pretty
-结果
{
"test-index": {
"mappings": {
"default": {
"properties": {
"other": {
"type": "long"
},
"test": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
--解释
es会对字段类型进行分析和模式匹配,test的字段会映射为string,other字段映射为long
mapping - 映射和定义数据结构
mapping由一个或多个analyzer(分词器)组成, analyzer又由一个或多个filter组成的。当ES索引文档的时候,字段中的内容传递给analyzer并通过子集的filters进行数据转换(分词,索引等操作)。
--自定义mapping
PUT newindex
{
"mappings": {
"default": {
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "long"
}
}
}
}
}
--说明
索引newIndex - 指定 name为text ,age指定long
--查看
GET newIndex/_mapping?pretty
--测试
PUT newindex/default/1
{
"name":"xxx",
"age":"xxx"
}
--结果
mapper_parsing_exception
failed to parse [age]
--测试2
PUT newindex/default/1
{
"name":"xxx",
"age":11
}
--结果
"created": true
2:es 对binary数据类型的支持
--原理
该binary类型接受一个二进制值作为 Base64编码的字符串。该字段默认情况下不存储,不可搜索
--使用
----es索引说明:
索引结构: index/type/id
对应的关系型数据库结构 index = database , type = table , id = id
----默认
--插入新的索引
PUT test-index/default/1
{
"test":"one",
"other":1
}
--查询索引与数据结构
GET test-index/_mapping?pretty
-结果
{
"test-index": {
"mappings": {
"default": {
"properties": {
"other": {
"type": "long"
},
"test": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
--解释
es会对字段类型进行分析和模式匹配,test的字段会映射为string,other字段映射为long
mapping - 映射和定义数据结构
mapping由一个或多个analyzer(分词器)组成, analyzer又由一个或多个filter组成的。当ES索引文档的时候,字段中的内容传递给analyzer并通过子集的filters进行数据转换(分词,索引等操作)。
--自定义mapping
PUT newindex
{
"mappings": {
"default": {
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "long"
}
}
}
}
}
--说明
索引newIndex - 指定 name为text ,age指定long
--查看
GET newIndex/_mapping?pretty
--测试
PUT newindex/default/1
{
"name":"xxx",
"age":"xxx"
}
--结果
mapper_parsing_exception
failed to parse [age]
--测试2
PUT newindex/default/1
{
"name":"xxx",
"age":11
}
--结果
"created": true
2:es 对binary数据类型的支持
--原理
该binary类型接受一个二进制值作为 Base64编码的字符串。该字段默认情况下不存储,不可搜索
--使用