文档就是相当于每条记录。

每个文档(数据记录行)都有几个元数据,分别是

  • _index,表示该文档是那个索引中的。
  • _type,表示文档的类型
  • _id,文档的唯一ID编号
  • _score,相关性分数。

添加文档(添加数据)

POST  /库名/类型名[/id]
注意:不给ID的化,则系统默认自己生成ID 例子:
POST http://127.0.0.1:9200/news/news/
{
"article_id": 456,
"user_id": 10,
"title": "python如何获取时间戳!"
}

获取文档数据等信息

GET /库名/类型名/id

例子:

GET http://127.0.0.1:9200/news/news/111

**查询结果:**
{
"_index": "news",
"_type": "news",
"_id": "111",
"_version": 1,
"_seq_no": 1,
"_primary_term": 1,
"found": true,
"_source": {
"article_id": 12,
"user_id": 1,
"title": "scrapy爬虫框架入门"
}
}

判断文档是否存在

1、除了直接使用查询外(GET请求),还是可以发送HEAD请求也可以判断文档是否存在。

HEAD 索引库名/类型名/文档ID

查询时只显示某个字段的数据

https://www.elastic.co/guide/en/elasticsearch/reference/6.8/docs-get.html#get-source-filtering

一般过滤

GET /库名/类型名/id?_source=字段名,字段名,....

例:只获取user_id和title字段的数据


GET http://127.0.0.1:9200/news/news/111?_source=user_id,title 查询结果:
{
"_index": "news",
"_type": "news",
"_id": "111",
"_version": 1,
"_seq_no": 1,
"_primary_term": 1,
"found": true,
"_source": {
"user_id": 1,
"title": "scrapy爬虫框架入门"
}
}

更详细的过滤

GET /库名/类型名/id?_source_includes=字段名&_source_excludes=字段名

_source_includes
_source_excludes
**这两个参数都采用逗号分隔的字段列表或通配符表达式。** 例如: GET twitter/_doc/0?_source_includes=*.id&_source_excludes=entities

获取文档中的数据,其他信息不要

https://www.elastic.co/guide/en/elasticsearch/reference/6.8/docs-get.html#_source

按照之前的查询URL,我们一般会返回信息如下:

{
"_index": "news",
"_type": "news",
"_id": "111",
"_version": 1,
"_seq_no": 1,
"_primary_term": 1,
"found": true,
"_source": {
"user_id": 1,
"title": "scrapy爬虫框架入门"
}
}

我们可以看到除了文档数据,还有很多其他的字段信息,如果你向要只拿文档信息可以用这个查询URL

GET /库名/类型名/id/_source

并且,同样支持过滤查询:
如:
GET /库名/类型名/id/_source?_source_include=xxx&_source_exclude=xxxx

修改文档的某个值

https://www.elastic.co/guide/en/elasticsearch/reference/6.8/docs-update.html#_updates_with_a_partial_document

POST <索引名>/<类型名>/<文档ID>/_update
{
"doc" : {
"字段名" : "新的值"
}
}

例子:

POST http://127.0.0.1:9200/news/news/111/_update
{
"doc": { //doc表示以文档形式进行部分更新。es还支持用script脚本形式更新值,具体可以参考官方文档。一般不怎么用...
"title": "开玩笑呀....."
}
} 修改结果返回:
{
"_index": "news",
"_type": "news",
"_id": "111",
"_version": 2, // version每修改一次就会累加1
**"result": "updated",**
"_shards": {
"total": 2, //表示应该在多少个分片副本(主分片和副本分片)上执行了索引操作
**"successful": 1,**
"failed": 0
},
"_seq_no": 2, // 每修改一次就会累加1
"_primary_term": 1
}

还有一种方式,但是这种方式等同于重定义整个文档:

用下面这种方式修改文档数据,如果文档中其他字段不需要修改,你也要传递值,否则都会被清空!

PUT /库名/类型名/id
{
"字段名": "值"
}

删除文档数据

DELETE /<索引库名>/<类型名>/<文档ID>

如:

DELETE http://127.0.0.1:9200/news/news/111

返回结果:
{
"_index": "news",
"_type": "news",
"_id": "111",
"_version": 4,
**"result": "deleted",**
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 4,
"_primary_term": 1
}

根据查询语句来删除数据

参考:

他用的就是查询的语法

https://www.elastic.co/guide/en/elasticsearch/reference/6.8/docs-delete-by-query.html

ElasticSearch-document文档数据-增删改的更多相关文章

  1. Elasticsearch之文档的增删改查以及ik分词器

    文档的增删改查 增加文档 使用elasticsearch-head查看 修改文档 使用elasticsearch-head查看 删除文档 使用elasticsearch-head查看 查看文档的三种方 ...

  2. 分布式搜索elasticsearch 索引文档的增删改查 入门

    1.RESTful接口使用方法 为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口. RESTful接口URL的格式: http://localhost:9200/ ...

  3. head插件对elasticsearch 索引文档的增删改查

    1.RESTful接口使用方法 为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口.  RESTful接口URL的格式: http://localhost:9200 ...

  4. Elasticsearch 索引文档的增删改查

    利用Elasticsearch-head可以在界面上(http://127.0.0.1:9100/)对索引进行增删改查 1.RESTful接口使用方法 为了方便直观我们使用Head插件提供的接口进行演 ...

  5. MongoDB文档的增删改操作

    上一篇文章中介绍了MongoDB的一些基本知识,同时看到了怎么启动一个MongoDB服务,并且通过MongoDB自带的shell工具连接到了服务器. 这一次,就通过MongoDB shell介绍一下对 ...

  6. Java对XML文档的增删改查

    JAVA增删改查XML文件   最近总是需要进行xml的相关操作. 不免的要进行xml的读取修改等,于是上网搜索,加上自己的小改动,整合了下xml的常用操作. 读取XML配置文件 首先我们需要通过Do ...

  7. Mongodb的基本操作-数据库 集合 文档的增删改查

    数据库操作: //查看有哪些数据库 > show dbs local  0.078GB mydb   0.078GB //use操作将切换到一个数据库 如果数据库存在将直接切换 如果不存在 那么 ...

  8. 对mongo文档的增删改操作

    在mongo db 中增加.删除.修改文档有好多方法,这里简单记录一下我所知道的一些方法. 前置条件: 1.创建study数据库  use study; 2.创建persons集合,当第一次向pers ...

  9. 使用dom4j技术对xml文档进行增删改练习(一)

    整个流程如下面代码所以,并对一些重要代码意义做出详细解释: import java.io.File; import java.io.FileOutputStream; import org.dom4j ...

  10. mongodb对数组元素及内嵌文档进行增删改查操作(转)

    from:https://my.oschina.net/132722/blog/168274 比如我有一个user类,他包含一个标签属性,这个标签是一个数组,数组里面的元素是内嵌文档,格式如下: &l ...

随机推荐

  1. 如何通过API接口获取1688的商品详情

    1688是中国最大的B2B电商平台之一,吸引了大量的国内外买家和卖家,提供了丰富的商品资源.许多开发者和企业想要通过API接口获取1688商品的详细信息,以便于进行商品数据分析.价格监控等工作.在本文 ...

  2. 云服务器中Linux如何安装宝塔面板?

    作者:西瓜程序猿 主页传送门:https://www.cnblogs.com/kimiliucn 官方使用手册:https://www.kancloud.cn/chudong/bt2017/42420 ...

  3. 谈谈JSF业务线程池的大小配置

    1.简介 JSF业务线程池使用JDK的线程池技术,缺省情况下采用Cached模式(核心线程数20,最大线程数200).此外,还提供了Fixed固定线程大小的模式,两种模式均可设置请求队列大小. 本文旨 ...

  4. 如何get一个终身免费续期的定制数字人?

    想拥有一个"数字分身" 吗?给你一个终身免费续期的特权. 定制周期长?训练.运营成本高?成片效果生硬?无法应用于实际场景? 随着AIGC技术的快速发展,虚拟数字人的生成效率不断提高 ...

  5. MySQL 日志管理、备份与恢复

    MySQL 日志管理.备份与恢复 ---MySQL 日志管理--- MySQL 的日志默认保存位置为 /usr/local/mysql/data vim /etc/my.cnf [mysqld] ## ...

  6. Solution Set -「NOI Online R1」

    NOI-Online-T1-序列 其实这道题是全场最难的-- 我这里给出一种并查集的做法. 首先我们把操作2中的 \(u\) 和 \(v\) 合并 对于操作1我们可以把他转化为操作2来做. 比如我们针 ...

  7. MongoDB慢日志

    MongoDB慢日志 ​ 熟悉 Mysql 的人应该知道,Mysql 是有个慢查询日志的,它可以帮助我们进行优化我们的 sql,并提高我们系统的稳定性和流畅性.那么 MongoDB 中是否也有类似的功 ...

  8. 文心一言 VS 讯飞星火 VS chatgpt (113)-- 算法导论10.2 5题

    五.用go语言,使用单向循环链表实现字典操作 INSERT.DELETE 和 SEARCH,并给出所写过程的运行时间. 文心一言: 在Go语言中,我们首先需要定义一个Node结构体来表示单向循环链表的 ...

  9. nginx配置解决跨域访问

    场景:前后的分离项目,前端vue框架,打包后放在Tomcat里访问,端口是8080,后端服务端口8058.访问前端项目时,调用后端接口报跨域. 后端环境 正常访问端口8058 经过nginx配置(文末 ...

  10. 18.2 使用NPCAP库抓取数据包

    NPCAP 库是一种用于在Windows平台上进行网络数据包捕获和分析的库.它是WinPcap库的一个分支,由Nmap开发团队开发,并在Nmap软件中使用.与WinPcap一样,NPCAP库提供了一些 ...