ES[7.6.x]学习笔记(三)新建索引
与ES的交互方式
与es的交互方式采用http的请求方式,请求的格式如下:
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
- 是请求的方法,比如:GET、POST、DELETE、PUT等。
- 协议:http或者https。
- 主机地址。
- 端口
- API的路径。比如查看集群状态:
/_cluster/stats
。 - 参数。比如:?pretty,打印出格式化以后的Json。
- 请求的内容。比如:添加索引时的数据。
创建索引
es创建索引的请求方式如下:
PUT /<index>
- 请求的方法用
PUT
。 - /后面直接跟索引的名称即可。
- 索引的设置和字段都放在Body中。
比如我们创建一个名字叫组织机构
的索引,这个索引只有两个字段,一个id,一个name。并且这个索引设置为2个分片,2个副本。
我们使用POSTMAN发送请求,如下:
http://192.168.73.130:9200/orgnization
请求的方法选择PUT
。然后在请求体(Body)中,写上索引的字段名称,索引的分片数和副本数,如下:
{ "settings":{ "number_of_shards":2, "number_of_replicas":2 }, "mappings":{ "properties":{ "id":{ "type":"long" }, "name":{ "type":"text" } } } }
我们观察一下,请求体中分为两个部分:settings
和mappings
。在settings
中,我们设置了分片数和副本数。
-
number_of_shards
:分片的数量; -
number_of_replicas
:副本的数量;
在mappings
中,我们设置索引的字段,在这里,我们只设置了id和name,id的映射类型是long,name的映射类型是text。这些类型我们会在后续为大家介绍。
请求体写完后,我们点击发送,es返回的结果如下:
{ "acknowledged": true, "shards_acknowledged": true, "index": "orgnization" }
说明索引创建成功,索引的名字正是我们在请求中设置的orgnization
。
然后,我们通过elasticsearch-head
插件观察一下刚才创建的索引,如图:
我们可以看到索引orgnization
已经创建好了,它有2个分片,分别是0和1,并且每个分片都是两个副本。如果我们仔细观察这个图,可以看出node-130
节点中的0分片,和node-132
节点中的1分片,它们的边框是加粗的,这说明它们是主节点,而边框没有加粗的节点是从节点,也就是我们说的副本节点。
查看索引
如果我们要查看一个索引的设置,可以通过如下请求方式:
GET /<index>
在我们的例子中,查看orgnization
索引的设置,我们在POSTMAN中发送如下的请求:
我们可以看到索引的具体设置,比如:mapping的设置,分片和副本的设置。这些和我们创建索引时候的设置是一样的。
修改索引
索引一旦创建,我们是无法修改里边的内容的,不如说修改索引字段的名称。但是我们是可以向索引中添加其他字段的,添加字段的方式如下:
PUT /<index>/_mapping
然后在我们的请求体中,写好新添加的字段。比如,在我们的例子当中,新添加一个type字段,它的类型我们定义为long,请求如下:
http://192.168.73.130:9200/orgnization/_mapping
请求类型要改为PUT
,请求体如下:
{ "properties": { "type": { "type": "long" } } }
我们点击发送,返回的结果如图所示:
添加索引字段成功,我们再使用GET
查看一下索引,如图:
我们可以成功的查询到新添加的索引字段了。
删除索引
如果我们要删除一个索引,请求方式如下:
DELETE /<index>
假如我们要删除刚才创建的orgnization
索引,我们只要把请求的方法改成DELETE
,然后访问我们索引就可以,
http://192.168.73.130:9200/orgnization
关闭索引
如果索引被关闭,那么关于这个索引的所有读写操作都会被阻断。索引的关闭也很简单,请求方式如下:
POST /<index>/_close
在我们的例子中,如果要关闭索引,降请求方法改成POST
,然后发送如下请求:
http://192.168.73.130:9200/orgnization/_close
打开索引
与关闭索引相对应的是打开索引,请求方式如下:
POST /<index>/_open
在我们的例子中,如果要打开索引,降请求方法改成POST
,然后发送如下请求:
http://192.168.73.130:9200/orgnization/_open
冻结索引
冻结索引和关闭索引类似,关闭索引是既不能读,也不能写。而冻结索引是可以读,但是不能写。冻结索引的请求方式如下:
POST /<index>/_freeze
对应我们的例子当中:
http://192.168.73.130:9200/orgnization/_freeze
解冻索引
与冻结索引对应的是解冻索引,方式如下:
POST /<index>/_unfreeze
对应我们的例子:
http://192.168.73.130:9200/orgnization/_unfreeze
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
淘宝万亿级海量交易订单存储在哪?
01淘宝交易订单系统介绍 天猫和淘宝每天发生的实物和虚拟商品的交易达到亿级别。考虑到一次成功交易的整个链路,会涉及到会员信息验证,商品库信息查询,订单创建,库存扣减,优惠扣减,订单支付,物流信息更新,确认支付等。 链路中的每一环都涉及到数据库中记录的创建和状态的更新,一次成功的交易可能对应到后台信息系统上数百次数据库事务操作,支撑交易系统的整个数据库集群则会承担每日高达数百亿的事务读写。这除了给数据库系统带来巨大的性能挑战之外,每日递增的海量数据也带来巨大的存储成本压力。 交易订单作为其中最为关键的信息,由于可能涉及交易纠纷处理,需要随时提供用户查询,必须永久的记录在数据库中。淘宝成立至今近17年,所有与订单相关的数据库记录总量达到了万亿级别,其所占用的磁盘空间也早已超过PB级。 在一个这样大体量的数据集上,需要能够满足用户随时查询的低延
- 下一篇
当海量存储系统插上搜索引擎的翅膀,阿里云HBase增强版(Lindorm)全文索引功能技术解析
新用户9.9元即可使用6个月云数据库HBase,更有低至1元包年的入门规格供广大HBase爱好者学习研究,更多内容请参考链接 阿里云HBase增强版(Lindorm)简介 阿里云数据库HBase增强版,是基于阿里集团内部使用的Lindorm产品研发的、完全兼容HBase的云上托管数据库,从2011年开始正式承载阿里内部业务的海量数据实时存储需求,支撑服务了淘宝、支付宝、菜鸟、优酷、高德等业务中的大量核心应用,历经双十一、春晚、十一出行节等场景的大规模考验,在成本、性能、稳定性、功能、安全、易用性等方面相比社区版拥有诸多优势和企业级能力,更多介绍可以参考Lindorm帮助文档(https://help.aliyun.com/document_detail/119548.html) 当大数据存储遇上复杂查询 HBase是目前广泛使用的NoS
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用