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

简介: 与ES的交互方式 与es的交互方式采用http的请求方式,请求的格式如下: curl -X '://:/?' -d '' 是请求的方法,比如:GET、POST、DELETE、PUT等。

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

我们观察一下,请求体中分为两个部分: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

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

查看索引

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

GET /<index>

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

image_20200426154156002

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

修改索引

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

PUT /<index>/_mapping

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

http://192.168.73.130:9200/orgnization/_mapping

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

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

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

image_20200426162109087

添加索引字段成功,我们再使用GET查看一下索引,如图:

image_20200426162306090

我们可以成功的查询到新添加的索引字段了。

删除索引

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

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
目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
分库分表下的分页查询:底层逻辑、全场景坑点与生产级最优解
分库分表环境下分页查询的挑战与解决方案 在分库分表架构中,传统分页查询面临数据错乱、性能下降等核心问题。本文剖析了五种主流解决方案: 全局视野法:全量查询后归并排序,保证准确性但性能随分页深度下降 游标分页法:基于值定位,性能稳定但仅支持顺序翻页 分片键路由法:精准定位分片,性能最优但需携带分片键 ES索引法:支持复杂查询和跳页,但引入额外组件 范围分片优化:减少扫描分片数,仅适用于范围分片场景 生产实践需注意排序字段唯一性、深分页限制、分片键选择等关键点。
279 2
|
小程序 数据安全/隐私保护
吐血整理的几十款小程序登陆界面【附完整代码】(一)
吐血整理的几十款小程序登陆界面【附完整代码】
13735 1
吐血整理的几十款小程序登陆界面【附完整代码】(一)
|
9月前
|
弹性计算
阿里云服务器【地域】怎么选择划算一些?哪个地域好?
选择阿里云服务器地域时,优先考虑用户所在地区以实现就近访问。从划算角度看,部分地域如华北3(张家口)、华北6(乌兰察布)、华南2(河源)、华中1(武汉)常有优惠活动。此外,华北1(青岛)地域的公网带宽价格更具优势,适合对带宽成本敏感的用户。具体信息可查看阿里云ECS页面或官方文档了解最新优惠和选择建议。
干货在线 | ArcGIS三种底图影像调色技巧
干货在线 | ArcGIS三种底图影像调色技巧
931 0
|
编解码 网络协议 Oracle
java网络编程入门以及项目实战
这篇文章是Java网络编程的入门教程,涵盖了网络编程的基础知识、IP地址、端口、通讯协议(TCP和UDP)的概念与区别,并提供了基于TCP和UDP的网络编程实例,包括远程聊天和文件传输程序的代码实现。
java网络编程入门以及项目实战
|
NoSQL 前端开发 Linux
入职必会-开发环境搭建45-Linux软件安装-安装Redis
本文介绍了在Linux中3种安装Redis的方式和连接方式
282 1
|
存储 PyTorch 调度
https://developer.aliyun.com/article/1564927(7)
Transformers 4.37 中文文档(十九)
478 2
|
消息中间件 Java API
【微服务系列笔记】MQ消息可靠性
消息可靠性涉及防止丢失,包括生产者发送时丢失、未到达队列以及消费者消费失败处理后丢失。 确保RabbitMQ消息可靠性的方法有:开启生产者确认机制,确保消息到达队列;启用消息持久化以防止未消费时丢失;使用消费者确认机制,如设置为auto,由Spring确认处理成功后ack。此外,可开启消费者失败重试机制,多次失败后将消息投递到异常交换机。
451 1
|
存储 安全 Java
Spring Boot中的文件下载实现
Spring Boot中的文件下载实现

热门文章

最新文章