1 介绍

主要介绍索引请求的基础API操作,使用postman进行请求,接口请求的前缀地址统一为elasticsearch 部署IP地址+端口号(例如 http://192.168.51.4:9200 。下方提供postman测试使用的接口地址JSON导出文件:

postman 接口集合下载地址 https://download.csdn.net/download/qq_15769939/15492332

2 文档基础操作

首先创建一个索引 (doc_api_demo),用来做文档API的测试。

2.1 创建文档

请求方式 接口地址 备注
POST /doc_api_demo/_doc/1 doc_api_demo:索引名称
1:索引在ES的ID

传递的JSON参数

{"id": 1001,"name": "auskat-1","desc": "tic is a good man 1","create_date": "2019-12-24"
}
{"id": 1002,"name": "auskat-2","desc": "tic 是个好人","create_date": "2019-12-25"
}
{"id": 1003,"name": "auskat-3","desc": "tic 要成为一个好人","create_date": "2020-12-26"
}
{"id": 1004,"name": "auskat-5","desc": "tic 真是一个好人","create_date": "2020-12-27"
}

请求结果

{"_index": "doc_api_demo","_type": "_doc","_id": "1","_version": 1,"result": "created","_shards": {"total": 1,"successful": 1,"failed": 0},"_seq_no": 0,"_primary_term": 1
}

这个ID属性并不是这条记录的ID,而是这条索引记录的ID,如果不设置,会默认生成一个唯一的字符串ID。实际的使用过程中,一般与数据的唯一ID保持一致。

  • 如果索引没有手动建立mappings,那么当插入文档数据的时候,会根据文档类型自动设置属性类型。这个就是es的动态映射,帮我们在index索引库中去建立数据结构的相关配置信息。
  • “fileds”:{“type”:“keyword”} 对一个字段设置多种索引模式,使用text类型做全文检索,也可使用keyword类型做聚合和排序。
  • “ignore_above”:256 设置字段索引和存储的长度最大值,超过则会被忽略。

2.2 文档修改

2.2.1 局部修改

请求方式 接口地址 备注
POST /doc_api_demo/_doc/1004/_update doc_api_demo:索引名称
1004:索引的ID

传递JSON数据

{"doc": {"name": "我是tic 我要单独改名为 ttd"}
}

请求结果

{"_index": "doc_api_demo","_type": "_doc","_id": "1004","_version": 3,"result": "updated","_shards": {"total": 1,"successful": 1,"failed": 0},"_seq_no": 6,"_primary_term": 1
}

2.2.2 全量替换

请求方式 接口地址 备注
PUT /doc_api_demo/_doc/1004 doc_api_demo:索引名称
1004:索引的ID

传递JSON数据

{"id": 1004,"name": "tic tic tic","desc": "tic 真的要变成一个好人了","create_date": "2020-12-28"
}

请求结果

{"_index": "doc_api_demo","_type": "_doc","_id": "1004","_version": 4,"result": "updated","_shards": {"total": 1,"successful": 1,"failed": 0},"_seq_no": 7,"_primary_term": 1
}

_version 代表文档的版本号,没修改一次都会发生累加改变。

2.3 文档查询

2.3.1 单个文档查询

请求方式 接口地址 备注
GET /doc_api_demo/_doc/1004 doc_api_demo:索引名称
1004:索引的ID

请求结果

{"_index": "doc_api_demo","_type": "_doc","_id": "1004","_version": 4,"_seq_no": 7,"_primary_term": 1,"found": true,"_source": {"id": 1004,"name": "tic tic tic","desc": "tic 真的要变成一个好人了","create_date": "2020-12-28"}
}

2.3.2 查询全量文档数据

请求方式 接口地址 备注
GET /doc_api_demo/_doc/_search doc_api_demo:索引名称
1004:索引的ID

请求结果

{"took": 7,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 4,"relation": "eq"},"max_score": 1.0,"hits": [{"_index": "my_doc","_type": "_doc","_id": "2","_score": 1.0,"_source": {"doc": {"name": "我是阿苏卡DDD"},"name": "我是阿苏卡CC"}},{"_index": "my_doc","_type": "_doc","_id": "okcQzncBZX7VGcys4RIc","_score": 1.0,"_source": {"id": 1009,"name": "auskat-1","desc": "tic is a good man 1","create_date": "2019-12-24"}},{"_index": "my_doc","_type": "_doc","_id": "3","_score": 1.0,"_source": {"id": 1003,"name": "auskat-3","desc": "tic is a good man 3","create_date": "2019-12-24"}},{"_index": "my_doc","_type": "_doc","_id": "6","_score": 1.0,"_source": {"name": "auskat-8","desc": "tic is a good man 8","create_date": "2019-12-24"}}]}
}

2.3.3 指定要查询的字段

请求方式 接口地址 备注
GET /doc_api_demo/_doc/1004?_source=id,name doc_api_demo:索引名称
1004:索引的ID
GET /doc_api_demo/_doc/_search?_source=id,name doc_api_demo:索引名称

请求结果

{"took": 7,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 4,"relation": "eq"},"max_score": 1.0,"hits": [{"_index": "my_doc","_type": "_doc","_id": "2","_score": 1.0,"_source": {"name": "我是阿苏卡CC"}},{"_index": "my_doc","_type": "_doc","_id": "okcQzncBZX7VGcys4RIc","_score": 1.0,"_source": {"name": "auskat-1","id": 1009}},{"_index": "my_doc","_type": "_doc","_id": "3","_score": 1.0,"_source": {"name": "auskat-3","id": 1003}},{"_index": "my_doc","_type": "_doc","_id": "6","_score": 1.0,"_source": {"name": "auskat-8"}}]}
}
  • _index:文档数据所属的那个索引,理解为数据库的某张表即可。
  • _type:文档数据属于那个类型,新版本用__doc
  • _id:文档数据的唯一标识,类似于数据库的主键。可以自动生成或者手工指定
  • _score:查询相关度,是否契合用户匹配,分数越高用户的搜索体验越高
  • _version:版本号
  • _source:文档数据,JSON格式

2.3.4 判断文档是否存在

请求方式 接口地址 备注
HEAD /doc_api_demo/_doc/1004 doc_api_demo:索引名称
1004:索引的ID

请求结果

{"_index": "doc_api_demo","_type": "_doc","_id": "1004","_version": 4,"_seq_no": 7,"_primary_term": 1,"found": true,"_source": {"id": 1004,"name": "tic tic tic","desc": "tic 真的要变成一个好人了","create_date": "2020-12-28"}
}

2.4 文档删除

请求方式 接口地址 备注
DELETE /index_api_demo/1004 doc_api_demo:索引名称
1004:索引的ID

返回结果

{"_index": "doc_api_demo","_type": "_doc","_id": "4","_version": 2,"result": "deleted","_shards": {"total": 1,"successful": 1,"failed": 0},"_seq_no": 4,"_primary_term": 1
}

文档删除不是立即删除,文档还是保存在磁盘上的,索引增长越来越多,才会把那些曾经标识过删除的,进行清理,从磁盘上移出去。

3 相关信息

  • 博文不易,辛苦各位猿友点个关注和赞,感谢

ES 文档的基本操作相关推荐

  1. 【Elasticsearch】15 ES文档的基本操作 aggregations 【执行聚合操作】

    一.描述 1. 搜素address 中包含mill 的所有人的年龄分布以及平均年龄,但不显示这些人的详情 按年龄聚合 GET bank/_search {"query": {&qu ...

  2. ES关于文档的基本操作

    关于文档的基本操作 基本操作 添加数据 PUT /quanzhan/user/1 {"name": "xzM","age": 18,&quo ...

  3. 关于文档的基本操作---ElasticSearch

    关于文档的基本操作(重点) 基本操作 添加数据 PUT /psz/user/1 {"name": "psz","age": 22," ...

  4. 【Elasticsearch系列】文档的基本操作

    文档的基本操作 一.添加 添加文档数据 POST /my_doc/_doc/1 -> {索引名}/_doc/{索引ID}(是指索引在es中的id,而不是这条记录的id,比如记录的id从数据库来是 ...

  5. 关闭word_Word教程第2讲:文档的基本操作(含视频)

    点击图片  1元抢购 Excel.Word.PPT全套课程 本讲目标: 关闭文档 掌握文档的创建 掌握保存文档的方法,以及加密保存的实现 掌握打开文档的方法,以及文档的打开方式 掌握插入文档的方法,了 ...

  6. Python实现自动化办公(三):Python对PPT文档的基本操作(python-pptx)

    Python对PPT文档的基本操作 文章目录 Python对PPT文档的基本操作 一.pptx模块 1.官方文档 2.安装pptx模块 二.基本函数的使用方法 三.使用案例 1.修改ppt内容 2.写 ...

  7. XML文档的基本操作

    已知有一个XML文档(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?> <b ...

  8. java基础知识 API文档 字符串基本操作 正则表达式 Object

    目录 JDK API 什么是JDK API JDk包结构 文档注释规范 文档注释 String及其常用API String是不可变对象 String常量池 内存编码及长度 String常用方法 Str ...

  9. ElasticSearch学习:文档的基本操作

    上一个我们基本是围绕索引操作,里面的指定类型,或者文档里面的一些属性. 这里是主要关注文档操作,毕竟主要常见的操作就是围绕文档内容来进行的,毕竟主要是做搜索. 首先先导入一些数据进去. 一 简单的查询 ...

最新文章

  1. Wt::WPaintDevice
  2. hdu1846巴什博弈(java)
  3. 【springboot中使用拦截器】
  4. 【最优解】Leecode 594. 最长和谐子序列——Leecode每日一题系列
  5. android listview asynctask,Android精通之AsyncTask与ListView讲解
  6. Flutter的AnimatedDefaultTextStyle实现文本样式的动画过渡切换效果
  7. bash 中的行处理命令 awk
  8. 晨光文具卖出去的笔能绕地球几圈?
  9. sqlalchemy 初始化数据库
  10. 第2个程序:用C语言实现点亮一盏led
  11. 计算数字1至10的总和
  12. Spark文本文件输入输出
  13. 你最后会划掉谁的名字……
  14. 从vSphere 5.5升级到6之2-升级vCenter Server 5.5到6.0
  15. ESET NOD32最新单机、企业中、英文版 + 个人专有ID(90天使用期)申请方法
  16. 0CTF 2016 RSA?(未完成)
  17. Linux下使用rm删除文件,并排除指定文件(亲测可行)
  18. AutoLayout(Ⅱ):遇到的几个小问题(Keng)
  19. python判断列表之间是否为包含关系,不用自定义函数
  20. Kettle计算器常用函数

热门文章

  1. 在FPGA设计中怎么应用ChatGPT?
  2. leaflet之轨迹回放(一 Leaflet.MovingMarker)
  3. IDEA中文乱码以及运行Tomcat各种出现乱码具体解决方案
  4. Java的ZipFile报错:Caused by: java.util.zip.ZipException: invalid CEN header (bad entry name)
  5. oracle_tpch导数据,TPCH数据导入postgresql教程
  6. npm下载包速度慢-淘宝NPM镜像服务器--如何切换其他服务器下载
  7. Java 8 Lambda 表达式Stream操作
  8. 读取一个文件夹内的文件名
  9. mSystems:“地球第四极”马里亚纳海沟极端环境中神秘的底栖病毒群落及其生态功能...
  10. 本地生活小程序有什么功能_本地生活小程序的优势