• ElasticSearch入门


    一、基本命令_cat

    1、查看节点信息

    http://192.168.101.132:9200/_cat/nodes
    
    • 1

    在这里插入图片描述

    2、查看健康状况

    http://192.168.101.132:9200/_cat/health
    
    • 1

    在这里插入图片描述

    3、查看主节点的信息

    http://192.168.101.132:9200/_cat/master
    
    • 1

    在这里插入图片描述

    4、查看所有索引

    http://192.168.101.132:9200/_cat/indices
    
    • 1

    在这里插入图片描述

    二、索引一个文档(保存)

    保存一个数据,保存在哪个索引的哪个类型下,指定用哪个唯一标识

    PUT customer/external/1
    
    • 1

    在 customer 索引下的 external 类型下保存 1 号数据为

    { 
    	"name": "John Doe"
    }
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    put是一个保存更新操作
    在这里插入图片描述

    PUT 和 POST 都可以,
    POST 新增。如果不指定 id,会自动生成 id。指定 id 就会修改这个数据,并新增版本号
    PUT 可以新增可以修改。PUT 必须指定 id;由于 PUT 需要指定 id,我们一般都用来做修改
    操作,不指定 id 会报错。

    三、查询文档

    GET customer/external/1
    结果:
    { "_index": "customer", //在哪个索引
    "_type": "external", //在哪个类型
    "_id": "1", //记录 id
    "_version": 2, //版本号
    "_seq_no": 1, //并发控制字段,每次更新就会+1,用来做乐观锁
    "_primary_term": 1, //同上,主分片重新分配,如重启,就会变化
    "found": true, "_source": { //真正的内容
    "name": "John Doe"
    }
    }
    更新携带 ?if_seq_no=0&if_primary_term=1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述

    乐观锁用法:通过“if_seq_no=1&if_primary_term=1”,当序列号匹配的时候,才进行修改,否则不修改。

    四、更新文档

    POST customer/external/1/_update
    { 
    	"doc":{ 
    	"name": "John Doew"
    			}
    }
    或者
    POST customer/external/1
    {
    	 "name": "John Doe2"
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    带_update和不带_update都可以更新,带_update的要用doc格式,区别是带_update如果更新内容和之前的一样,则不做任何更新,版本号也不变,而不带_update的则不管内容和之前相不相同都要更新版本号。

    五、删除文档

    删除记录

    http://192.168.101.132:9200/customer/external/1
    
    • 1

    在这里插入图片描述
    删除索引

    http://192.168.101.132:9200/customer
    
    • 1

    注意:ES没有删除type的操作

    六、ES的批量操作——bulk

    实例1: 执行多条数据

    POST /customer/external/_bulk
    {"index":{"_id":"1"}}
    {"name":"John Doe"}
    {"index":{"_id":"2"}}
    {"name":"John Doe"}
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    实例2:对于整个索引执行批量操作

    POST /_bulk
    {"delete":{"_index":"website","_type":"blog","_id":"123"}}
    {"create":{"_index":"website","_type":"blog","_id":"123"}}
    {"title":"my first blog post"}
    {"index":{"_index":"website","_type":"blog"}}
    {"title":"my second blog post"}
    {"update":{"_index":"website","_type":"blog","_id":"123"}}
    {"doc":{"title":"my updated blog post"}}
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    实例3:测试数据

    链接:

    https://gitee.com/xlh_blog/common_content/blob/master/es%E6%B5%8B%E8%AF%95%E6%95%B0%E6%8D%AE.json

    在这里插入图片描述

  • 相关阅读:
    通俗易懂,一文学会前端缓存
    字节二面问的MySQL,差点没答好
    感知健康生活 赋能无界连接 ——为OpenHarmony 3.1生态构建贡献芯海力量
    (idea版本)下载javaFX和配置环境详细大全
    最新AI创作程序源码ChatGPT系统网站源码/Ai绘画系统/支持OpenAI GPT全模型+国内AI全模型/详细搭建部署教程
    Eureka架构篇 - 服务续约与自我保护机制
    Java并发编程学习一:线程基础
    分享让PPT变高级的两个小技巧
    Spring事件监听机制
    adb手机调试常用命令
  • 原文地址:https://blog.csdn.net/qq_57818853/article/details/132674342