Es学习第三课, ElasticSearch基本的增删改查
前面两课我们了解了ES的基本概念并且学会了安装ES,这节课我们就来讲讲ES基本的增删改查;ES主要对外界提供的是REST风格的API,我们通过客户端操作ES本质上就是API的调用。在第一课我们就讲了索引、类型和文档的含义,它们分别对应MYSQL的数据库、表和一行数据。所以,我们在讲ES的API时,大家可以按照MYSQL的SQL语句对应做理解。
ES Restful API GET、POST、PUT、DELETE、HEAD含义(这几个是API的基本概念):
1)GET:获取请求对象的当前状态。
2)POST:改变对象的当前状态。
3)PUT:创建一个对象。
4)DELETE:销毁对象。
5)HEAD:请求获取对象的基础信息。
下面我们就利用Kibana的图形化界面,来展示下ES的基本API。
1、新建一个索引(类似mysql 新建数据库)
PUT /lib/
{
"settings":{
"index": {
"number_of_shards":3,
"number_of_replicas":1
}
}
}
或者简单点,使用默认的分片和复制,可以直接
PUT lib2
这样也可以生成索引
执行成功后,会显示如下:
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "lib"
}
其中,lib表示索引名称,PUT 参数里的number_of_shards表示分片数量,number_of_replicas表示复制备份数量。
2、查询索引
GET /lib/_settings #查询索引lib的设置, GET _all/_settings #查询所有的索引设置
3、添加文档(类似MYSQL添加一条数据)
PUT /lib/user/1
{
"name" : "kakatadage",
"age" : 33,
"about": "I like football!",
"interests" : ["girls","football"]
}
使用PUT添加,其中user表示类型(type),1代表这条数据的主键;如果id不填也可以,ES会自动生成一条主键,不过这时就不能用PUT了,需要使用POST添加
执行成功,结果如下:
{
"_index": "lib",
"_type": "user",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}
4、查询文档
GET /lib/user/1 //查询ID为1的数据
5、修改文档
PUT /lib/user/1 //PUT方式进行修改,这种是把原来对应文档覆盖掉
{
"name" : "kakatadage",
"age" : 30,
"about": "I like money!",
"interests" : ["music","money"]
}
POST /lib/user/1/_update //POST方式修改的话,可以针对对应field来修改,比PUT要轻量
{
"doc": {
"age" :32
}
}
6、删除文档或索引
DELETE lib/user/1 //删除一个文档
DELETE lib2 //删除索引
好了,基本的增删改查我们讲完了,是不是和SQL很类似,很简单?不过理解简单,实际使用还是要有大量的操作实践才行,而且实际生产环境中,都是各种复杂查询,后面我们会专门用几节课来讲。
Es学习第三课, ElasticSearch基本的增删改查的更多相关文章
- mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...
- GZFramwork数据库层《三》普通主从表增删改查
运行结果: 使用代码生成器(GZCodeGenerate)生成tb_Cusomer和tb_CusomerDetail的Model 生成器源代码下载地址: https://github.com/Gars ...
- golang学习之beego框架配合easyui实现增删改查及图片上传
golang学习之beego框架配合easyui实现增删改查及图片上传 demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DO ...
- 【转】mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
mongoDB 学习笔记纯干货(mongoose.增删改查.聚合.索引.连接.备份与恢复.监控等等) http://www.cnblogs.com/bxm0927/p/7159556.html
- 【转载】salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建
salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建 VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的 ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- 04-springboot整合elasticsearch初识-简单增删改查及复杂排序,分页,聚合操作
前面大概了解了一下elasticsearch的数据存储和数据的查询.现在学习一下,es的复杂操作. 官网相关文档地址:https://www.elastic.co/guide/en/e ...
- 一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。
本文系原创博客,文中不妥烦请指出,如需转载摘要请注明出处! ContentProvider的学习与运用 Alpha Dog 2016-04-13 10:27:06 首先,项目的地址:https:// ...
- Oracle学习总结_day01_day02_表的创建_增删改查_约束
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 更新: SELECT * FROM (SELECT R ...
随机推荐
- 2.WCF学习--地址
一.URI(统一资源标识) web服务可视为一种网络资源,并且可以通过一个URI来进行唯一标识.而服务通过终结点的形式发布出来,我们所说的一个服务在大部分场景中实际上指的是服务的某个终结点.终结点的核 ...
- Java double转long方法
Java double转long方法 double random = Math.round(Math.random()*10000); long l = new Double(random).long ...
- 如何用命令行启动android的模拟器(简要描述)
参考来源 http://blog.sina.com.cn/s/blog_5033827f0101cxhz.html 环境前置条件: 已安装JDK,已下载并安装了SDK 1.查看已安装的SDK平台:an ...
- Setting proxy for Windows CMD and Linux Terminal
setting proxy for Windows CMD and Linux Terminal Linux Terminal: set http_proxy=http://127.0.0.1:811 ...
- C++ 穷举算法 鸡兔同笼
#include "stdio.h" int qiongju(int head, int foot, int *chicken, int *rabbit) { int re, i, ...
- UIView的 形变属性transform
// ViewController.m // 形变属性transform // // Created by LiuWei on 2018/4/23. // Copyright © 2018年 xxx. ...
- Security基础(四):OpenSSL及证书服务常用系统监控命令、搭建nagios监控服务器、配置文件及插件使用、监控远程主机的公有数据、监控远程主机的私有数据
一.OpenSSL及证书服务常用系统监控命令 目标: 本案例要求练习常用的系统监控命令完成以下任务: 使用vmstat命令监控内存及磁盘I/O信息 使用iostat命令监控CPU处理器及磁盘的I/O信 ...
- php基于SQLite实现的分页功能示例
php基于SQLite实现的分页功能. 这里操作数据库文件使用的是前面文章<PHP基于PDO实现的SQLite操作类>中的SQLite数据库操作类. 代码: <?php class ...
- php面试专题---2、常量及数据类型考点
php面试专题---2.常量及数据类型考点 一.总结 一句话总结: 变量为null和变量判断为false的情况需要仔细注意下 1.PHP中字符串可以使用哪三种定义方法以及各自的区别是什么? 单引号:不 ...
- xshell链接linux出现SSH服务器拒绝了密码 的解决方案
参考文章:https://blog.csdn.net/weixin_38554662/article/details/80589852 但是需要注意的是,ssh_config文件本来是没有权限修改的, ...