elasticsearch的基本操作之索引和映射

您所在的位置:网站首页 配置数据源和映射规则的区别是 elasticsearch的基本操作之索引和映射

elasticsearch的基本操作之索引和映射

2024-05-30 09:02| 来源: 网络整理| 查看: 265

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