美文网首页学习空间ElasticSearch学习笔记
ES7学习笔记(三)新建索引

ES7学习笔记(三)新建索引

作者: 牛初九 | 来源:发表于2020-05-07 16:04 被阅读0次

与ES的交互方式

与es的交互方式采用http的请求方式,请求的格式如下:

curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
  • <VERB>是请求的方法,比如:GET、POST、DELETE、PUT等。
  • <PROTOCOL> 协议:http或者https。
  • <HOST>主机地址。
  • <PORT>端口
  • <PATH>API的路径。比如查看集群状态:/_cluster/stats
  • <QUERY_STRING>参数。比如:?pretty,打印出格式化以后的Json。
  • <BODY>请求的内容。比如:添加索引时的数据。

创建索引

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"
            }
        }
    }
}

我们观察一下,请求体中分为两个部分:settingsmappings。在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插件观察一下刚才创建的索引,如图:

image-20200426110603566.png
我们可以看到索引orgnization已经创建好了,它有2个分片,分别是0和1,并且每个分片都是两个副本。如果我们仔细观察这个图,可以看出node-130节点中的0分片,和node-132节点中的1分片,它们的边框是加粗的,这说明它们是主节点,而边框没有加粗的节点是从节点,也就是我们说的副本节点。

查看索引

如果我们要查看一个索引的设置,可以通过如下请求方式:

GET /<index>

在我们的例子中,查看orgnization索引的设置,我们在POSTMAN中发送如下的请求:

image-20200426154156002.png
我们可以看到索引的具体设置,比如:mapping的设置,分片和副本的设置。这些和我们创建索引时候的设置是一样的。

修改索引

索引一旦创建,我们是无法修改里边的内容的,不如说修改索引字段的名称。但是我们是可以向索引中添加其他字段的,添加字段的方式如下:

PUT /<index>/_mapping

然后在我们的请求体中,写好新添加的字段。比如,在我们的例子当中,新添加一个type字段,它的类型我们定义为long,请求如下:

http://192.168.73.130:9200/orgnization/_mapping

请求类型要改为PUT,请求体如下:

{
  "properties": {
    "type": {
      "type": "long"
    }
  }
}

我们点击发送,返回的结果如图所示:

image-20200426162109087.png
添加索引字段成功,我们再使用GET查看一下索引,如图:
image-20200426162306090.png
我们可以成功的查询到新添加的索引字段了。

删除索引

如果我们要删除一个索引,请求方式如下:

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

这节内容到这里就结束了。。

相关文章

  • ES7学习笔记(三)新建索引

    与ES的交互方式 与es的交互方式采用http的请求方式,请求的格式如下: 是请求的方法,比如:GET...

  • Lucene的索引文件格式(基于V7_3_0)

    拜读刘超觉先的Lucene学习笔记Lucene学习总结之三:Lucene的索引文件格式(1)、Lucene的索引文...

  • es笔记---新建es索引

    es对索引的一堆操作都是用restful api去进行的,参数时一堆json,一年前边查边写搞过一次,这回搞迁移,...

  • MySQL SQL调优之索引知识学习笔记

    继我的上篇博客:Oracle索引知识学习笔记,再记录一篇MySQL的索引知识学习笔记,本博客是我在学习尚硅谷的学习...

  • es7 数据的增删改查

    在es7中索引就相当于是一张表,mapping相当于表结构,doucoument相当于是表中的数据。 在es7之前...

  • Mysql 学习笔记

    Mysql 学习笔记(三) 索引(index) (1)索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列...

  • 索引学习笔记

    两个关键词 ASC是升序排序 DESC是降序排序 单键索引 为单个字段创建索引,如果这个字段不是在大多数场景下能过...

  • 索引学习笔记

    1、索引的本质是排好序的快速查找的数据结构。表查询多,增删改少,就加索引。、 (一个字段不同记录数/总记录数,...

  • Elasticsearch:索引,映射,文档操作

    摘要:Elasticsearch《Elasticsearch搜索引擎构建入门与实战》第三章读书笔记 索引操作 索引...

  • shell 定时任务删除索引日志

    es按照日期新建索引 shell脚本定时删除三天前的索引crontab命令使用-u user:用来设定某个用户的c...

网友评论

    本文标题:ES7学习笔记(三)新建索引

    本文链接:https://www.haomeiwen.com/subject/lxiewhtx.html