常用的es操作

ops/2024/12/19 7:33:29/

前言

我们前面写过ES基础操作和ES高级查询 写的都很细,但是很多时候我们仅仅是忘记具体的某个语法,去那两篇博客查找就很麻烦了,这篇博客就把常用的ES操作进行总结。

常用操作

  1. 建索引(建表,不过并没有指定字段名和类型)
向ES服务器发送PUT请求:
http://127.0.0.1:9200/索引名
  1. 删除索引(删表)
向ES服务器发送DELETE请求:
http://127.0.0.1:9200/索引名
  1. 创建文档(往表中插入数据)
向 ES 服务器发 POST 请求:
http://127.0.0.1:9200/索引名/_doc请求体内容:
{
"name":"zs",
"age":23
}

一般都会指定唯一id:

向 ES 服务器发 POST 请求:
http://127.0.0.1:9200/索引名/_doc/1请求体内容:
{
"name":"zs",
"age":23
}
  1. 根据唯一id查看对应的一行数据
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_doc/1
  1. 根据唯一id更新对应的一条数据中所有字段
向 ES 服务器发 POST 请求 :
http://127.0.0.1:9200/索引名/_doc/1请求体中写入要插入的json字符串
{
"name":"ls",
"age":24
}
  1. 根据唯一id更新一行指定字段的数据
向 ES 服务器发 POST 请求 :
http://127.0.0.1:9200/索引名/_update/1请求体内容:
{ "doc": {"age":24} 
}
  1. 根据唯一标识删除一行数据
向 ES 服务器发 DELETE 请求 :
http://127.0.0.1:9200/索引名/_doc/1
  1. 根据查询条件删除对应的数据
向 ES 服务器发 POST 请求 :
http://127.0.0.1:9200/索引名/_delete_by_query请求体内容:
{"query":{"match":{"price":4000.00}}
}
  1. 给索引添加映射
向 ES 服务器发 PUT或者POST 请求 :
http://127.0.0.1:9200/索引名/_mapping请求体内容:
{"properties": {"name":{"type": "text","index": true},"age":{"type": "long","index": false}}
}
  1. 给索引新增一个字段
向 ES 服务器发 PUT 请求 :
http://127.0.0.1:9200/索引名/_mapping请求体内容:
{"properties": {"sex": {"type": "text"}}
}
  1. 查看映射
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_mapping
  1. 查看所有文档
向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/索引名/_search请求体内容:
{"query": {"match_all": {}}
}
  1. 分词(match)匹配查询
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:
{"query": {"match": {"name":"zs"}}
}
  1. 精确(term)查询
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:{"query": {"term": {"name": {"value": "zhangsan"}}}
}
  1. 组合查询(bool把各种其它查询通过must(必须 )、must_not(必须不)、should(应该)的方式进行组合)
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search请求体内容:
{"query": {"bool": {"must": [{"match": {"name": "zhangsan"}}],"must_not": [{"match": {"nickname": "lisi"}}]}}
}
  1. 范围查询
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:
{"query": {"range": {"age": {"gte": 30,"lte": 35}}}
}
  1. 模糊查询
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:
{"query": {"fuzzy": {"name": {"value": "zhangsan","fuzziness": 2}}}
}
  1. 单个字段排序
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:
{"query": {"match": {"name": "zhangsan"}},"sort": [{"age": {"order": "desc"}}]
}
  1. 多个字段排序
向 ES 服务器发 GET 请求 :
http://127.0.0.1:9200/索引名/_search
请求体内容:
{"query": {"match_all": {}},"sort": [{"age": {"order": "desc"}},{"_id": {"order": "desc"}}]
}

http://www.ppmy.cn/ops/143125.html

相关文章

【Qt】信号、槽

目录 一、信号和槽的基本概念 二、connect函数:关联信号和槽 例子: 三、自定义信号和槽 1.自定义槽函数 2.自定义信号函数 例子: 四、带参的信号和槽 例子: 五、Q_OBJECT宏 六、断开信号和槽的连接 例子: …

Java匿名类和lambda

匿名类 匿名类就是一个语法糖,可以帮我们省略定义类名这一步,直接创建对象,简化代码 匿名类规则: 匿名类必须继承一个父类或实现一个接口,并且最多继承一个父类或实现一个接口。匿名类可以继承父类的方法&#xff0c…

基于python绘制数据表(上)

利用python绘制各种数据图表 绘制柱形图-源码 from openpyxl import Workbook from openpyxl.chart import BarChart, Reference# 创建工作薄 wb Workbook(write_onlyTrue) # 创建工作表 ws wb.create_sheet(月收入)# 准备数据 rows [(月份, 销售额),(1, 23),(2, 43),(3, …

第十章 多表查询

一、概述 我们在前面几个章节讲解SQL语句的时候,涉及到了DQL语句即数据查询语句,但是之前讲解的查询都是单表查询,而本章节我们要学习的则是多表查询操作。多表查询‌是指在数据库查询中涉及多个表的操作,通过连接运算来获取多个…

(5)YOLOv3和yolov1、yolov2之间的差异

一、YOLOv3的技术原理和改进 ​ YOLOv3算法是在YOLOv1和YOLOv2的基础上进一步改进和发展的,它在目标检测领域取得了显著的性能提升。YOLOv3成为了一个强大的目标检测工具,广泛应用于各种计算机视觉任务中,包括但不限于图像中的目标检测、视频…

AIDD-人工智能药物设计-ChemDraw Mac版pojie安装

AIDD-人工智能药物设计-ChemDraw Mac版pojie安装 Mac系统12.X版本需要安装chemdraw v20及以上。 https://github.com/Z-H-Sun/CS_CCME_Posts/blob/hidden/cos/cdm2.md 一、准备工作 软件下载地址:https://pan.baidu.com/s/1SDZCriXsxPZvcHMoA7WzUA 提取码&#…

ASP.NET Core - 依赖注入 自动批量注入

依赖注入配置变形 随着业务的增长,我们项目工作中的类型、服务越来越多,而每一个服务的依赖注入关系都需要在入口文件通过Service.Add{}方法去进行注册,这将是非常麻烦的,入口文件需要频繁改动,而且代码组织管理也会变…

qemu源码解析【总目录】

qemu源码解析【总目录】 qemu源码解析【00】qemu-wsl-host环境搭建qemu源码解析【01】qemu源码结构qemu源码解析【02】qom基本概念qemu源码解析【03】qom实例qemu源码解析【04】qom实例