Elasticsearch 索引与文档的常用操作总结一
本文为博主原创,未经允许不得转载:
ES 的 Restful风格:
Restful是一种面向资源的架构风格,可以简单理解为:使用URL定位资源,用HTTP动词(GET,POST,DELETE,PUT)描述操作。 基于Restful API ES和所有客户端的交互都是使用JSON格式的数据。
GET查询
PUT添加
POST修改
DELE删除
1.索引常用操作:
1.1 创建索引:
格式: PUT /索引名称
PUT /es_db
1.2 创建索引映射
PUT /my-index
{
"mappings": {
"properties": {
"title": {
"type": "text"
},
"date": {
"type": "date"
},
"views": {
"type": "integer"
}
}
}
}
1.3 设置索引参数
PUT /my-index
{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
}
}
上述示例将 "my-index" 设置为包含 5 个主分片和 1 个副本分片。
1.4 查询索引
格式: GET /索引名称
GET /es_db
1.5 删除索引
格式: DELETE /索引名称
DELETE /es_db
2.文档操作:
2.1 添加
格式: PUT /索引名称/类型/id
PUT /es_db/_doc/1
{
"name": "张三",
"sex": 1,
"age": 25,
"address": "广州天河公园",
"remark": "java developer"
}
2.2 修改
格式: PUT /索引名称/类型/id
PUT /es_db/_doc/1
{
"name": "李四",
"sex": 1,
"age": 25,
"address": "玄武湖公园",
"remark": "java developer"
}
2.3 查询
格式: GET /索引名称/类型/id
GET /es_db/_doc/1
2.4 删除
格式: DELETE /索引名称/类型/id
DELETE /es_db/_doc/1
3.查询操作
3.1 查询当前索引类型的所有文档:_search
格式: GET /索引名称/类型/_search
GET /es_db/_doc/_search
3.2 条件查询: _search?q=filed:value
# 查询age 为28 的文档
GET /es_db/_doc/_search?q=age:28
3.3 范围查询: _search?q=filed[start-value TO end-value]
格式: GET /索引名称/类型/_search?q=***[25 TO 26] 。。。。
# 查询age在25至26岁之间的
GET /es_db/_doc/_search?q=age[25 TO 26]
3.4 根据多个ID进行批量查询 _mget
格式: GET /索引名称/类型/_mget
# 查询id 为1和2的文档
GET /es_db/_doc/_mget
{
"ids":["1","2"]
}
3.5 小于等于查询: :<=
格式: GET /索引名称/类型/_search?q=filed:<=value
# 查询age 小于等于28 的文档
GET /es_db/_doc/_search?q=age:<=28
3.6 大于等于查询: :>=
格式: GET /索引名称/类型/_search?q=filed:>=value
# 查询age 小于等于28 的文档
GET /es_db/_doc/_search?q=age:>=28
3.7 分页查询: from=pageNo&size=pageSize
格式: GET /索引名称/类型/_search?q=age[25 TO 26]&from=0&size=1
# 查询age 在25到26之间的文档数据分页,从0开始,pageSize 为1
GET /es_db/_doc/_search?q=age[25 TO 26]&from=0&size=1
3.8 对查询结果只输出某些字段 _source=字段,字段
格式: GET /索引名称/类型/_search?_source=字段,字段
# 查询显示 name 与age 文档数据
GET /es_db/_doc/_search?_source=name,age
3.9 对查询结果排序 sort=字段:desc/asc
# 查询es_db 中的数据并进行age 降序排序
GET /es_db/_doc/_search?sort=age:desc
4.注意事项
在Elasticsearch中,如果使用DSL查询语句来查询一个不存在的索引或表,通常不会导致错误报告。
当使用DSL查询语句时,Elasticsearch会尝试执行查询并返回相应的结果。如果在查询中引用了一个不存在的索引或表,Elasticsearch会返回一个空的响应,其中不会包含任何匹配的结果。
这意味着即使表不存在,仍然可以发出DSL查询,并且不会引发错误。因此,在执行任何ES查询之前,最好先确认所查询的索引或表是否存在,以避免不必要的请求和处理。
Elasticsearch 索引与文档的常用操作总结一的更多相关文章
- 007-elasticsearch5.4.3【一】概述、Elasticsearch 访问方式、Elasticsearch 面向文档、常用概念
一.概述 Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上. Elasticsearch 也是使用 Java 编写的,它的内部使用 L ...
- elasticsearch查询篇索引映射文档数据准备
elasticsearch查询篇索引映射文档数据准备 我们后面要讲elasticsearch查询,先来准备下索引,映射以及文档: 我们先用Head插件建立索引film,然后建立映射 POST http ...
- Elastic Stack 笔记(四)Elasticsearch5.6 索引及文档管理
博客地址:http://www.moonxy.com 一.前言 在 Elasticsearch 中,对文档进行索引等操作时,既可以通过 RESTful 接口进行操作,也可以通过 Java 也可以通过 ...
- Elasticsearch 7.x文档基本操作(CRUD)
官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html 1.添加文档 1.1.指定文档ID PUT ...
- es之对文档进行更新操作
5.7.1:更新整个文档 ES中并不存在所谓的更新操作,而是用新文档替换旧文档: 在内部,Elasticsearch已经标记旧文档为删除并添加了一个完整的新文档并建立索引.旧版本文档不会立即消失 ,但 ...
- elasticsearch 基础 —— 分布式文档存储原理
路由一个文档到一个分片中 当索引一个文档的时候,文档会被存储到一个主分片中. Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片 ...
- ElasticSearch 集群基本概念及常用操作汇总(建议收藏)
内容来源于本人的印象笔记,简单汇总后发布到博客上,供大家需要时参考使用. 原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94 目录: Elas ...
- shift+alt 可对notepadplusplus 打开的文档进行列操作
shift+alt 可对notepadplusplus 打开的文档进行列操作
- flask - fastapi (python 异步API 框架 可以自动生成swagger 文档) 常用示例 以及整合euraka nacos
flask - fastapi (python 异步API 框架 可以自动生成swagger 文档) 常用示例: 之前使用 flask 需要手动写文档, 这个可以自动生成, fastapi ...
- Elasticsearch技术解析与实战(二)文档的CRUD操作
启动Elasticsearch和kibana 访问Elasticsearch:http://localhost:9200/?pretty 访问kibana:http://localhost:5601 ...
随机推荐
- TensorFlow C++ 初始化 Tensor 内存 到GPU 内存
最近使用TensorFlow C++版本实现神经网络的部署,我通过GPU 处理得到网络的输入值,因此输入值在GPU内存上保存, TF 输入tensor 的调用语句为 Tensor inputTenso ...
- 查看电脑、手机中已保存的wifi密码
电脑: 以管理员身份运行CMD,执行 netsh wlan show profile netsh wlan export profile folder=C:\ key=clear 此时,用记事本打开对 ...
- MS17-010(永恒之蓝)漏洞分析与复现
一.漏洞简介1.永恒之蓝介绍:永恒之蓝漏洞(MS17-010),它的爆发源于 WannaCry 勒索病毒的诞生,该病毒是不法分子利用NSA(National Security Agency,美国国家安 ...
- el-table 设置合并行或列时,显示错乱问题
1. 需求效果图: 2. 接口数据格式: 点击查看代码 const list = [ { contractNo: "CAI-20220801001", contractItem: ...
- Python中numpy出现has no attribute '_no_nep50_warning'错误的一个解决方案
本文介绍在Python中,numpy库出现报错module 'numpy' has no attribute '_no_nep50_warning'的解决方法. 一次,在运行一个Python代 ...
- JavaFx之ScrollPane滚动板面、CheckBox复选框(二十四)
JavaFx之ScrollPane滚动板面.CheckBox复选框(二十四) 多个复选框时可能会超出屏幕,需要使用滚动版面. 布局方式:ScrollPane包括VBox.VBox 包括多个 Check ...
- 华为云分布式云原生UCS,助力MetaERP构建企业级高可用分布式业务
本文分享自华为云社区<华为云分布式云原生UCS,助力MetaERP构建企业级高可用分布式业务>,作者:云容器大未来. 引言 华为云最近成为<Forrester Wave: Multi ...
- 物联网SIM卡和SIM卡真的不是一回事
办卡吗,兄弟? 物联网卡?相信大家第一反应都是一愣.大家听过银行卡.电话SIM卡.会员卡-等等,很多人可能都是第一次听说物联网卡.那它到底是个什么东东?它能干什么呢?今天就带大家一探究竟. 那在物联网 ...
- CWE4.8:2022年危害最大的25种软件安全问题
摘要:我们来看下新版的<2022年危害最大的25种安全问题>在安全预防上会给了我们哪些安全提示. 本文分享自华为云社区<CWE4.8 -- 2022年危害最大的25种软件安全问题&g ...
- Cesium笔记(3):基本控件简介—ImageryProvider地图瓦片地图配
cesiumjs中可定制多种图层,可以使用互联网上很多地图提供商的图层数据,也可以使用自己的地图数据.Cesium支持多种标准化格式的GIS瓦片服务,可以把栅格图层绘制到地球的表面--cesiumjs ...