elasticsearch常用操作命令 —— 筑梦之路

这里主要是使用命令对elasticsearch进行管理,不需要借助其他客户端工具

环境说明:
ES服务端:192.168.2.100  端口9200

# 查看索引的状态

curl -XGET http://192.168.2.100:9200/_cat/indices?v

# 关闭索引

curl -X POST http://192.168.2.100:9200/[索引名]/_close?pretty

# 打开索引

curl -X POST http://192.168.2.100:9200/[索引名]/_open?pretty

# 查看ES健康状态

curl  -XGET http://192.168.2.100:9200/_cat/health?v

# 查看ES 节点

curl  -XGET http://192.168.2.100:9200/_cat/nodes?v

# 查看所有索引的分片情况

curl -XGET http://192.168.2.100:9200/_cat/shards?v

#  查看指定索引的分配情况

curl  -XGET http://192.168.2.100:9200/_cat/shards/[索引名]?v

# 查看正在执行的任务

curl  -XGET http://192.168.2.100:9200/_cat/tasks?v

# 查看安装的插件

curl  -XGET http://192.168.2.100:9200/_cat/plugins?v

-------------------------------------------------------

/_cat/allocation         #查看单节点的shard分配整体情况
/_cat/shards             #查看各shard的详细情况
/_cat/shards/{index}     #查看指定分片的详细情况
/_cat/master          #查看master节点信息
/_cat/nodes           #查看所有节点信息
/_cat/indices         #查看集群中所有index的详细信息
/_cat/indices/{index}      #查看集群中指定index的详细信息
/_cat/segments        #查看各index的segment详细信息,包括segment名, 所属shard, 内存(磁盘)占用大小, 是否刷盘
/_cat/segments/{index}#查看指定index的segment详细信息
/_cat/count           #查看当前集群的doc数量
/_cat/count/{index}   #查看指定索引的doc数量
/_cat/recovery        #查看集群内每个shard的recovery过程.调整replica。
/_cat/recovery/{index}#查看指定索引shard的recovery过程
/_cat/health          #查看集群当前状态:红、黄、绿
/_cat/pending_tasks   #查看当前集群的pending task
/_cat/aliases         #查看集群中所有alias信息,路由配置等
/_cat/aliases/{alias} #查看指定索引的alias信息
/_cat/thread_pool     #查看集群各节点内部不同类型的threadpool的统计信息,
/_cat/plugins         #查看集群各个节点上的plugin信息
/_cat/fielddata       #查看当前集群各个节点的fielddata内存使用情况
/_cat/fielddata/{fields}     #查看指定field的内存使用情况,里面传field属性对应的值
/_cat/nodeattrs              #查看单节点的自定义属性
/_cat/repositories           #输出集群中注册快照存储库
/_cat/templates              #输出当前正在存在的模板信息

----------------------------------------------------------
#直接创建索引,不指定mapping

curl -XPUT '192.168.2.100:9200/{index}'

例:
curl -XPUT '192.168.2.100:9200/customer'
 
#设定mapping信息创建索引

curl -XPUT '192.168.2.100:9200/{index}' -d '{}'

例:
curl -XPUT '192.168.2.100:9200/customer' -d '
{
    "mappings": {
        "external": {
            "properties": {
                "name": {
                    "type": "keyword"
                }
            }
        }
    }
}'
# 插入数据

curl -XPUT '192.168.2.100:9200/{index}/{type}/{id}?pretty' -d '{}'

 
#在customer索引下类型为external,插入id为1的数据,数据体必须为json格式

curl -XPUT '192.168.2.100:9200/customer/external/1?pretty' -d '
{
	"name": "John Doe"
}'
# 查询数据

curl -XGET '192.168.2.100:9200/{index}/{type}/{id}?pretty'
 
#获取customer索引下类型为external,id为1的数据,pretty参数表示返回结果格式美观

curl -XGET '192.168.2.100:9200/customer/external/1?pretty'
# 修改数据 完全覆盖

curl -XPUT '192.168.2.100:9200/{index}/{type}/{id}?pretty' -d'{}'
 
#在customer索引下类型为external,插入id为1的数据,数据体必须为json格式,相同id的数据会被覆盖

curl -XPUT '192.168.2.100:9200/customer/external/1?pretty' -d'
{
	"name": "John Doe xxxxxxx"
}'
# 更新数据 更新指定字段,其他字段不受影响

#只更新name字段的信息

curl -XPOST '192.168.2.100:9200/customer/external/1/_update?pretty' -d'
{
	"doc": {
		"name": "Jane Doe"
	}
}'
 
#更新name字段的信息,同时还新增了age字段

curl -XPOST '192.168.2.100:9200/customer/external/1/_update?pretty' -d '
{
	"doc": {
		"name": "Jane Doe",
		"age": 20
	}
}'
 
#使用脚本方式进行更新,age自增5

curl -XPOST '192.168.2.100:9200/customer/external/1/_update?pretty' -d'
{
	"script": "ctx._source.age += 5"
}'
# 删除数据

#删除customer索引下类型为external的ID为2的数据

curl -XDELETE '192.168.2.100:9200/customer/external/2?pretty'
# 删除索引

curl -XDELETE '192.168.2.100:9200/customer'

猜你喜欢

转载自blog.csdn.net/qq_34777982/article/details/124175386