elasticsearch的基本操作之索引和映射 |
您所在的位置:网站首页 › 配置数据源和映射规则的区别是 › elasticsearch的基本操作之索引和映射 |
elasticsearch在新版本中逐渐弱化了类型的概念,现在elasticsearch主流数据结构如下 index(索引)->type(类型-逐渐弱化,用处不大)->document(文档)-field(字段) 在elasticsearch中index相当于mysql中的表,而文档则相当于表中的一行一行记录,字段那就不用说了自然是数据库中的列,这么说的话大家应该能够有一个比较清晰的认识了.,接下来我们一步一步深入的去了解每个名词的具体使用场景. 1. 索引 在elasticsearch中为了能够跨语言的使用,对外提供了一系列的http协议的restful风格的接口,下面我们就结合接口和elasticsearch-head来为大家演示一下elasticsearch的使用
创建索引 如果不携带任何参数的请求,则默认创建主分片一个,副本分片一个 PUT http://127.0.0.1:9200/index_test/ { "acknowledged": true, "shards_acknowledged": true, "index": "index_test" }
查看索引 调用下面的请求即可查询到索引的信息,但是这是一个空索引,包含了主分片一个,副本分片一个,但是mappings对应的属性是为空的,待会为大家介绍mappings的作用 GET http://127.0.0.1:9200/index_test/ { "index_test": { "aliases": {}, "mappings": {}, "settings": { "index": { "creation_date": "1593699742333", "number_of_shards": "1", "number_of_replicas": "1", "uuid": "8UtZxRdSRaG_aEG3RfsHmQ", "version": { "created": "7080099" }, "provided_name": "index_test" } } } }
删除索引 DELETE http://127.0.0.1:9200/index_test/ { "acknowledged": true }
上面就是索引的一系列操作,其实就是restful风格的各种接口调用
接下来为大家解释下索引中的mappings的含义,这在索引中是一个非常重要的概念,刚才大家在上面也看到了我查询刚创建的索引index_test后得到的json信息 "mappings": {}这个mappings其实就是索引的映射,也可以理解为是索引的数据结构,如果把索引作为mysql中的一张表的话,mappings就是表的字段,mappings为空则代表当前表中没有一个字段. 所以接下来为大家演示如何去创建索引的映射信息 2. 索引映射 创建映射可以在索引刚创建的时候创建,也可以在索引创建完了之后再接着去创建,并且创建完了之后可以不停的追加映射,但是不能修改原有的映射
增加映射 POST http://127.0.0.1:9200/index_test/_mapping请求参数 { "properties": { "id": { "type": "long" }, "realname": { "type": "text" }, "sex": { "type": "integer" }, "username": { "type": "keyword" } } } { "acknowledged": true }
获取映射信息 调用接口可以看到刚才增加的映射信息 GET http://127.0.0.1:9200/index_test/_mapping { "index_text": { "mappings": { "properties": { "id": { "type": "long" }, "realname": { "type": "text" }, "sex": { "type": "integer" }, "username": { "type": "keyword" } } } } }现在我们再看看索引的信息,就会发现mappings中多出了我们刚才创建的映射信息 { "index_test": { "aliases": {}, "mappings": { "properties": { "id": { "type": "long" }, "realname": { "type": "text" }, "sex": { "type": "integer" }, "username": { "type": "keyword" } } }, "settings": { "index": { "creation_date": "1593700632935", "number_of_shards": "1", "number_of_replicas": "1", "uuid": "8VtndTrDSpC_iTfz4Q6otg", "version": { "created": "7080099" }, "provided_name": "index_test" } } } }
如果希望追加映射可以使用POST请求和刚才增加索引映射调用的接口是一样的,但是映射是不能直接被删除的,只能删除索引
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |