es常用操作

查看删除

curl -su elastic:qiaoning http://127.0.0.1:9200/_cat/indices
curl:一个命令行工具,用于发送 HTTP 请求。
-s:静默模式,不显示进度信息。
-u elastic:qiaoning:使用 elastic 用户名和密码进行基本身份验证。确保密码安全,不要在公共或不安全的环境中直接使用。
http://127.0.0.1:9200/_cat/indices:请求 Elasticsearch 的 _cat/indices API 来列出所有索引的信息。
输出信息
执行该命令后,你会看到类似以下的信息:

green  open   my_index   1   0  100  0   100kb  50kb
yellow open   another_index  5   1  500  10  1mb    500kb
每一行代表一个索引,包含以下信息:

状态(如 green/yellow/red):指示索引的健康状态。
索引名称:如 my_index。
主分片数量:如 1。
副本分片数量:如 0。
文档数量:如 100。
删除文档数量:如 0。
主分片存储大小:如 100kb。
总存储大小:如 50kb。


## 删除命令
 curl -su elastic:qiaoning http://127.0.0.1:9200/_cat/indices |grep gb | awk '{print $3}' |xargs -I{} curl -X DELETE -su elastic:qiaoning http://127.0.0.1:9200/{}

查询集群状态

curl -X GET "http://localhost:9200/_cluster/health?pretty"

检查索引状态

curl -X GET "http://localhost:9200/_cat/indices?v"

检查节点信息

curl -X GET "http://localhost:9200/_nodes?pretty"

  1. 集群健康检查
    检查集群健康状态
    curl -X GET "http://localhost:9200/_cluster/health?pretty"
    检查集群状态
    curl -X GET "http://localhost:9200/_cluster/stats?pretty"
  2. 节点管理
    获取节点信息
    curl -X GET "http://localhost:9200/_nodes?pretty"
    获取节点统计信息
    curl -X GET "http://localhost:9200/_nodes/stats?pretty"
  3. 索引管理
    创建索引
    curl -X PUT "http://localhost:9200/my_index?pretty"
    删除索引
    curl -X DELETE "http://localhost:9200/my_index?pretty"
    获取索引信息
    curl -X GET "http://localhost:9200/my_index?pretty"
    获取所有索引信息
    curl -X GET "http://localhost:9200/_cat/indices?v"
    打开索引
    curl -X POST "http://localhost:9200/my_index/_open?pretty"
    关闭索引
    curl -X POST "http://localhost:9200/my_index/_close?pretty"
  4. 文档管理
    索引文档
    curl -X POST "http://localhost:9200/my_index/_doc/1?pretty" -H 'Content-Type: application/json' -d'
    {
    "field1": "value1",
    "field2": "value2"
    }'
    获取文档
    curl -X GET "http://localhost:9200/my_index/_doc/1?pretty"
    删除文档
    curl -X DELETE "http://localhost:9200/my_index/_doc/1?pretty"
  5. 快照与恢复
    创建快照仓库
    curl -X PUT "http://localhost:9200/_snapshot/my_backup?pretty" -H 'Content-Type: application/json' -d'
    {
    "type": "fs",
    "settings": {
    "location": "/mount/backups/my_backup"
    }
    }'
    创建快照
    curl -X PUT "http://localhost:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true&pretty"
    恢复快照
    curl -X POST "http://localhost:9200/_snapshot/my_backup/snapshot_1/_restore?wait_for_completion=true&pretty"
  6. 监控与调试
    获取集群状态
    curl -X GET "http://localhost:9200/_cluster/state?pretty"
    获取集群健康状态
    curl -X GET "http://localhost:9200/_cluster/health?pretty"
    获取索引统计信息
    curl -X GET "http://localhost:9200/my_index/_stats?pretty"
    获取段信息
    curl -X GET "http://localhost:9200/my_index/_segments?pretty"
  7. 集群管理
    更新集群设置
    curl -X PUT "http://localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
    {
    "persistent": {
    "indices.recovery.max_bytes_per_sec": "50mb"
    }
    }'
GET     /uri/xxx   查看(相当于数据库中的select操作),即通过请求URL获得资源。
PUT     /uri/xxx   更新/创建(相当于数据库中的update操作),即通过请求URL修改某个内容。
POST    /uri       创建 (相当于数据库中的insert操作),即通过请求URL添加新的资源,用于表单提交。
DELETE  /uri/xxx   删除 (相当于数据库中的delete操作),即通过请求URL删除某个内容。

1)GET请求:得到或查看数据
GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容。
也就是说GET请求不会产生副作用。无论进行多少次操作,结果都是一样的。
  
2)PUT请求:在已经存在的数据上更新数据
与GET请求不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等。
也就是说无论进行多少次PUT操作,其结果并没有不同。
  
3)POST请求:创建数据
POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。
几乎目前所有的提交操作都是默认用POST请求的。
  
4)DELETE请求:删除数据
DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。
  

1)GET请求的操作是安全的。
所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如用GET请求方式浏览文章,不管浏览多少次,那篇文章还在那,没有变化。
当然有人可能会说每浏览一次文章,文章的浏览数就增加一次,这不也改变了资源的状态么。
其实这并不矛盾,因为这个改变不是GET操作引起的,而是用户自己设定的服务端逻辑造成的。
  
2)PUT,DELETE请求的操作是幂等的。 
所谓幂等:是指无论进行多少次重复操作,都是实现相同的结果。也就是说若输入相同的参数执行任意次结果相同,则为等幂操作!!!!
比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。
顺便说一句,因为GET操作是安全的,所以它自然也是幂等的。
  
3)POST操作既不是安全的,也不是幂等的
比如常见的POST重复加载问题:当多次发出同样的POST请求后,其结果是创建出了若干的资源。
  
4)安全和幂等的意义在于:
当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它。
  
5)需要注意事项
创建操作可以使用POST请求,也可以使用PUT请求!区别在于:
POST 是作用在一个集合资源之上的(/uri),而PUT操作是作用在一个具体资源之上的(/uri/xxx)。
再通俗点说,如果URL可以在客户端确定,那么就使用PUT请求,如果是在服务端确定,那么就使用POST请求。
比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST请求方法了。
 
所以,简单总结下:
GET,POST,PUT都是幂等性操作,而POST不是幂等性操作;
GET:不管对资源查询多少次,此实现都是一样的
PUT:将A第一次修改成B,再进行多次操作,最终结果还是还算B,与第一次写的结果是一样的,所有PUT是
DELETE:第一次把资源删除以后,后面进行多少次操作都算资源被删除
POST:  不是,因为一次请求添加一份新的资源,二次请求是乎产生不同的结
1)GET请求 和 POST请求
从字面意思就可以看出两者区别,一个是GET(获取),一个是POST(发送)。
  
GET方法的请求用来告诉服务器需要获取哪些内容(uri+query),向静态页面(uri)请求则直接返回文件内容给浏览器,向一个动态页面请求时可以
提供查询参数(query)以获得相应内容。
  
POST方法的请求用来向服务器提交内容,主要是为了提交,而不是为了请求内容,就是说POST的初衷并不要求服务器返回内容,只是提交内容让服务器
处理(主要是存储或者处理之后再存储)。
  
2)PUT请求 和 POST请求
PUT请求主要作用在一个具体资源之上的(即uri/xxx),POST请求主要作用在一个集合资源之上的(即uri)
就是说,如果URL可以在客户端确定就使用PUT请求,如果URL在服务端确定就使用POST请求。
  
PUT请求和POST请求容器混淆的就是它们都可以修改数据。它们的区别在于是否等幂:PUT请求是等幂操作,而POST请求是不等幂操作。
所以POST方式每执行一次会增加一条数据,而PUT请求是在已经存在的数据上进行修改。
也就是说POST方式一般用于增加数据,POST方式用于修改已有数据。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349