ElasticSearch

1.基本概念

    1.inde(索引)
      动词:相当于Mysql中的indert
      名词:相当于Mysql中的Database
    2.Type(类型)
      在index(索引)中,可以定义一个或多个类型 
      类似于Mysql中的Table;每一种类型的数据放在一起
    3.Document(文档)
      保存在某个索引下,某种类型(Type)的一个数据(document),文档是JSON格式的,Document就像Mysql中的某个Tabel里面的内容

在这里插入图片描述

2.命令

     1._cat
      GET  /_cat/nodes :查看所有节点
      GET /_cat/helth :查看es健康状况
      GET /_cat/master:查看主节点 
      GET /_cat/indices: 查看所有索引    
     
     2.新增文档(保存)
        保存一个数据,保存在哪个索引的哪个类型下,指定哪个唯一标识
        PUT customer/external/1; 在customer索引下的external类型下保存1号数据 :
        {
        “name":"John Doe"
        }
     PUT和POST都可以保存
     POST新增:如果不指定id,会自动生成id。指定id就会修改这个数据,并新增版本号
     PUT可以新增可以修改。PUT必须指定id;由于需要指定id,我们一般都用来修改操作
  
     3.查询文档
        GET customer/external/1 
          _index:在那个索引
          _type:在哪个类型下
          _id:记录id
          _version:版本号
          _seq_no:并发控制字段,每次跟新就会+1,用来做乐观锁
          _primary_term:主分片重新分配,如重新,就会变化
          _source:真正内容
   
     4.跟新文档
       跟新携带?if_seq_no=0&if_primary_term=1 做乐观锁
       POST /customer/external/1/_update:会对比元数据,与原来一样就什么都不做,version,seq_no都不变
  
       {
        "doc":{
            "name":"John Deo2"
           }
        }

       PUT customer/external/1
      {
        "name":"John Doe2"
       }
        POST操作会对比原文档数据,如果相同不会有什么操作。文档version不增加 PUT操作总会将数据重新保存并增加version版本
       场景:
           对于大并发更新,不带update
           对于大并发查询偶尔更新,带update;对比跟新   

     5.删除文档&索引
       DELETE customer/external/1
       DELETE customer
     
     6.bulk批量API
     POST customer/external/_bulk
     
     7.检索
       ES支持两种基本方式检索:
          一个是通过REST resquest URI 发送搜索参数(uri + 检索参数)
          一个是通过使用 REST request body 来发送(uri + 请求体)

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值