• ElasticSearch基础 增删改查入门归纳


    基本概念:index库>type表>document文档

    即index相当于db库  type类似表 document就是表中每行json数据 es保存的数据是json类型

    结构示意图如下

    1.检索es信息

    1)GET /_cat/nodes:查看所有节点
    如:http://192.168.56.10:9200/_cat/nodes2)GET /_cat/health:查看es健康状况
    (3)GET /_cat/master:查看主节点
    (4)GET/_cat/indicies:查看所有索引 ,等价于mysql数据库的show databases;

    2.新增文档

    用postman测试
    put http://192.168.112.144:9200/customer/external/1
    数据{
     "name":"John Doe"
    }
    
    新增成功
    
    PUT和POST区别
    POST新增。如果不指定id,会自动生成id。指定id就会修改这个数据,并新增版本号;
    可以不指定id,不指定id时永远为创建
    指定不存在的id为创建
    指定存在的id为更新,而版本号会根据内容变没变而觉得版本号递增与否
    
    PUT可以新增也可以修改。PUT必须指定id;由于PUT需要指定id,我们一般用来做修改操作,不指定id会报错。
    必须指定id
    版本号总会增加


    乐观锁
    在每次操作es时都会出现_seq_no 和_primary_term 这两个字段是一般做加锁判断
    如字段值变了表示数据被改了
    如 put http://192.168.112.151:9200/customer/external/1?if_seq_no=3&if_primary_term=12 给加锁

    3.修改文档

    同上类似 如
    put http://192.168.112.144:9200/customer/external/1
    post http://192.168.112.151:9200/customer/external/1
    {
     "name":"John Doe2"
    }


    还有一种post带update
    post http://192.168.112.151:9200/customer/external/1/_update
    {
     "doc":{
         "name":"John Doe1"
     }
    }
    //带_update与不带的区别是要把参数放在"doc"中 且若更新数据与原数据一致时_version _seq_no _primary_term都不会改变

    4.删除文档

    删除文档
    如
    delete http://192.168.112.151:9200/customer/external/2
    
    删除索引
    如
    http://192.168.112.151:9200/customer
    
    //es没有提供删除类型的方式 把文档全部删除相当于删除了类型
  • 相关阅读:
    linq的多表查询
    markdown语法
    遍历Hashtable、IDictionary、Dictionary<string, string>
    DOS修改文件夹权限
    kangle 3.2.0 发布,国产开源web服务器
    nat上传文件到google
    黄聪:C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解
    UltiDev Web Server Pro
    vs2010 命令行下用 msbuild 发布web站点
    asp.net重启网站
  • 原文地址:https://www.cnblogs.com/hbhb/p/14604601.html
Copyright © 2020-2023  润新知