热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ElasticSearchRESTFUL风格的增删改查操作

ElasticSearchRESTFUL风格的增删改查操作,Go语言社区,Golang程序员人脉社

ElasticSearch RESTFUL风格的增删改查操作

1、RESTFUL相关

ES中相关概念:是基于Lucene开发的分布式全文检索框架,往ES中存储和从ES中查询,格式是JSON

索引:Index 相当于数据库中的database
类型:type 相当于数据中的table
主键:Id 相当于数据库中的主键

往ES中存储数据,其实就是往ES中的Index 下的type下存储JSON数据
RESTFUL风格的API(请求规范)
通过http的形式,发送请求,对ES进行操作
查询:请求方式应该为GET
删除:请求方式应该为DELETE
添加:请求方式为PUT或POST
修改:请求方式为PUT或POST
其中index、type是必须提供的。
id是可选的,不提供es会自动生成。
index、type将信息进行分层,利于管理。
index可以理解为数据库;type理解为数据表;id相当于数据库表中记录的主键,是唯一的。

2、增删改查操作:

在node-1主机上
#向store索引中添加一些书籍
curl -H “Content-Type: application/json” -XPUT ‘http://192.168.43.250:9200/store/books/1’ -d ‘{
“title”: “Elasticsearch book”,
“name” : {
“first” : “guanglei”,
“last” : “wu”
},
“publish_date”:“2020-06-01”,
“price”:“49.99”
}’
在这里插入图片描述
Node-1主机查询结果
curl -XGET ‘http://192.168.43.250:9200/store/books/1’
在这里插入图片描述

Node -2 查询结果
curl -XGET ‘http://192.168.43.250:9200/store/books/1’
在这里插入图片描述

通过浏览器查找
在这里插入图片描述
再添加一本书
curl -H “Content-Type: application/json” -XPUT ‘http://192.168.43.250:9200/store/books/2’ -d ‘{
“title”: “Elasticsearch book2”,
“name” : {
“first” : “guanglei”,
“last” : “wu”
},
“publish_date”:“2020-06-01”,
“price”:“35.99”
}’
在这里插入图片描述
查询curl -XGET ‘http://192.168.43.250:9200/store/books/2’
在这里插入图片描述
通过_source获取指定的字段
curl -XGET ‘http://192.168.43.250:9200/store/books/1?_source=title,price’

在这里插入图片描述

#可以通过覆盖的方式更新
curl -H “Content-Type: application/json” -XPUT ‘http://192.168.43.250:9200/store/books/1’ -d ‘{
“title”: “Elasticsearch: book001”,
“name” : {
“first” : “guanglei”,
“last” : “wu”
},
“publish_date”:“2020-06-01”,
“price”:“99.99”
}’
在这里插入图片描述
或者通过 _update API的方式单独更新你想要更新的

curl -H “Content-Type: application/json” -XPOST
‘http://192.168.43.250:9200/store/books
/1/_update’ -d ‘{
“doc”: {
“price” : 88.88
}
}’
在这里插入图片描述
#删除一个文档
curl -XDELETE ‘http://192.168.43.250:9200/store/books/1’
在这里插入图片描述


推荐阅读
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 先看一段错误日志:###Errorqueryingdatabase.Cause:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransie ... [详细]
author-avatar
米粒尖尖果儿_445
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有