天天看点

Elasticsearch 映射 Mapping

映射:

索引中每个文档都有一个类型(type)。
    每个类型拥有自己的映射(mapping)或者模式定义(schema definition)
    一个映射定义了文档每个字段的数据类型,以及被Elasticsearch处理方式
    映射还用于设置关联到类型上的元数据。
           

核心简单字段类型

String
	Whole number(byte short integer long)
	Floating Point(float double)
	Boolean
    Date
    如果没有设置则使用动态映射,按照JSON的基本数据类型 
           

查看映射

curl -XGET "https://1.139.32.155:9200/joke/_mapping/jt_joke"    
		joke索引
        _mapping映射
        jt_joke字段
           

index参数

控制字符串以何种方式被索引not_analyzed索引但不被分析 no不搜索到 analyzed分析并索引
		{
			"tag" : {
			"type" : "string",
			"index" : "not_analyzed"
			}
		} 
analyzer 分析器whitespace、simple、english、standard(默认的)
        {
			"tag" : {
			"type" : "string",
			"analyzer" : "english"//分析器
			}
		}
           

更新映射

更新一个映射来增加一个新字段,不能把已有的字段的类型从analyzed改到not_analyzed
           

复合核心字段类型

Elasticsearch还支持null值,数组和对象
           

多值字段

索引一个标签数组来代替单一字符串:{"tag":["search","nosql"]}
    无序且类型相同
           

空字段

这四个字段将被识别为空字段而不被索引:
	"empty_srting" : "",
	"null_value" : null,
	"empty_array" : [],
	"array_with_null_value" : [null]  
           

多层对象

支持多层对象
	"name" : {
		"full" : "john Smith",
		"first" : "john",
		"last" : "Smith"
	}	      		
           

继续阅读