当前位置: 代码迷 >> 综合 >> Elasticsearch7.x DSL语法之索引管理
  详细解决方案

Elasticsearch7.x DSL语法之索引管理

热度:16   发布时间:2023-12-03 19:33:07.0

程序员小强总结的 ElasticSearch专题超全总结篇在这里:传送门
结合官网资料,做了更详细的实际使用总结。
从单机版安装到集群高可用生产环境搭建、基本概念(索引,分片,节点,倒排索引…)、DSL语法实践、分词器(内置+中文)、SpringBoot整合实战、仿京东商品搜索实战实现。

1.查看索引

#查看所有索引
GET /_cat/indices#查看指定索引文档总数
GET movies/_count#查看所有索引文档总数
GET _all/_count#查看单个索引分片信息
GET /_cat/shards/my_index?v

2.创建索引

2.1指定分片数量

2个分片,2个副本

#创建索引(并且指定分片数量)
PUT my_index1
{
    "settings": {
    "number_of_shards": 2,"number_of_replicas": 2}
}

在这里插入图片描述

PUT "localhost:9200/test_index?pretty"

2.2指定分片数量与Mapping映射

PUT /my_index2
{
    "settings": {
     "number_of_shards":2,"number_of_replicas":2},"mappings": {
    "properties": {
    "id":{
    "type": "integer"},"name":{
    "type": "keyword"},"age":{
    "type": "long"},"desc":{
    "type": "text"},"birthday":{
    "type": "date"}}}
}

3.查看索引信息

#查看某个索引
GET my_index1

4.删除索引

DELETE /test_index

5.修改分片副本

PUT my_index1/_settings
{
    "index": {
    "number_of_replicas": "4"}
}

备注:number_of_shards 分片,不能修改

6.新增Mapping映射

POST /my_index2/_mapping
{
    "properties": {
    "phone":{
    "type": "keyword"}}
}

注:只能新增字段,不能删除字段,一旦设置type类型,不可更改。

为什么不能修改一个字段的type?原因是一个字段的类型修改以后,那么该字段的所有数据都需要重新索引。Elasticsearch底层使用的是lucene库,字段类型修改以后索引和搜索要涉及分词方式等操作。

7.索引占用内存大小

#查看各索引占用内存大小并倒叙
GET _cat/indices?v&h=i,tm&s=tm:desc

8.查看索引文档数

#查看指定索引文档数
GET my_index3/_count#查看所有索引文档数
GET _all/_count

9.按照文档数量排序索引

#按照文档数量排序索引
GET _cat/indices?v&s=docs.count:desc

在这里插入图片描述

10.根据健康状态查询索引

#查看状态为绿的索引
GET /_cat/indices?v&health=green#查看状态为黄的索引
GET /_cat/indices?v&health=yellow#查看状态为红的索引
GET /_cat/indices?v&health=red

关注程序员小强公众号更多编程趣事,知识心得与您分享
?关注“程序员小强”发送关键字“elasticSearch”到公众号获取相关篇