文档

作者: 该死的金箍 | 来源:发表于2024-05-14 17:59 被阅读0次

创建文档

格式: [PUT | POST] /索引名称/[_doc | _create ]/id

  • 创建文档,指定id
    如果id不存在,创建新的文档,否则先删除现有文档,再创建新的文档,版本会增加
PUT /es_db/_doc/1
{
  "name": "张三",
  "sex": 1,
  "age": 25,
  "address": "广州天河公园",
  "remark": "java developer"
}
  • 创建文档,ES生成id
POST /es_db/_doc
{
  "name": "张三",
  "sex": 1,
  "age": 25,
  "address": "广州天河公园",
  "remark": "java developer"
}

注意:POST和PUT都能起到创建/更新的作用

  1. PUT需要对一个具体的资源进行操作也就是要确定id才能进行更新/创建
  2. 而POST是可以针对整个资源集合进行操作的,如果不写id就由ES生成一个唯一id进行
  3. 创建新文档,如果填了id那就针对这个id的文档进行创建/更新

create -如果ID已经存在,会失败

修改文档

  • 全量更新,整个json都会替换
    格式: [PUT | POST] /索引名称/_doc/id

如果文档存在,现有文档会被删除,新的文档会被索引
全量更新,替换整个json

PUT /es_db/_doc/1/
{
  "name": "张三",
  "sex": 1,
  "age": 25
}

查询文档
GET /es_db/_doc/1

  • 使用update部分更新
    格式: POST /索引名称/update/id
    update不会删除原来的文档,而是实现真正的数据更新
#部分更新:在原有文档上更新
#Update -文档必须已经存在,更新只会对相应字段做增量修改
POST /es_db/_update/1
{
  "doc": {
    "age": 28
  }
}

查询文档
GET /es_db/_doc/1

  • 使用 _update_by_query 更新文档
POST /es_db/_update_by_query
{
  "query": {
    "match": {
    "_id": 1
    }
  },
  "script": {
    "source": "ctx._source.age = 30"
    }
}

删除文档

格式: DELETE /索引名称/_doc/id

DELETE /es_db/_doc/1

查询文档

  • 根据id查询文档
    格式: GET /索引名称/_doc/id

  • 条件查询 search
    格式:GET /索引名称/doc/_search

ES Search API提供了两种条件查询搜索方式:

  1. REST风格的请求URI,直接将参数带过去
#通过URI搜索,使用“q”指定查询字符串,“query string syntax” KV键值对
#条件查询, 如要查询age等于28岁的 _search?q=*:***
GET /es_db/_doc/_search?q=age:28
#范围查询, 如要查询age在25至26岁之间的 _search?q=***[** TO **] 注意: TO 必须为大写
GET /es_db/_doc/_search?q=age[25 TO 26]
#查询年龄小于等于28岁的 :<=
GET /es_db/_doc/_search?q=age:<=28
#查询年龄大于28前的 :>
GET /es_db/_doc/_search?q=age:>28
#分页查询 from=*&size=*
GET /es_db/_doc/_search?q=age[25 TO 26]&from=0&size=1
#对查询结果只输出某些字段 _source=字段,字段
GET /es_db/_doc/_search?_source=name,age
#对查询结果排序 sort=字段:desc/asc
GET /es_db/_doc/_search?sort=age:desc
  1. 封装到request body中,这种方式可以定义更加易读的JSON格式
#获取所有文档 默认10条
GET /es_db/_doc/_search
{
 "query": {"match_all": {}}
}

其它的后面在深入学习

相关文章

  • 2019-04-26

    测试文档测试文档测试文档测试文档测试文档测试文档测试文档测试文档测试文档测试文档测试文档测试文档测试文档测试文档测...

  • Elasticsearch(ES)文档的CRUD

    新增文档(不指定文档ID) 新增文档(指定文档ID) 通过文档ID获取文档 通过文档ID更新文档 通过文档ID删除...

  • elasticsearch cat api

    健康: 文档 count: 文档 索引:文档 节点:文档 cluster:文档 分片:文档(需要注意state字段)

  • 2020-09-22

    互联网/软件全套文档、产品文档、技术文档、测试文档、运维文档、项目文档 前言简约文档可提高团队沟通效率;详细文档体...

  • Elasticsearch 7.x 入门之restful请求(2

    使用restful操作 创建文档新建文档.png 查看文档文档信息.png 删除文档文档删除.png 新建文档自动...

  • Shape/GradientLayer

    参考文档1参考文档2参考文档3参考文档4参考文档5参考文档6 CAShapeLayer CAShapeLayer ...

  • 文档结构

    项目文档结构 UI文档结构 通用组件文档结构 业务组件文档结构 store文档结构

  • Masonry

    参考文档0参考文档1参考文档2参考文档3参考文档4参考文档5参考文档6 Maonry 代码约束使用比较简单,是对系...

  • HTML常用标签介绍

    HTML文档标签 定义文档类型 定义HTML文档 定义文档头部 定义文档主体 布局标签(包含...

  • 在线文档工具,支持swagger 、dubbo、数据库、Elas

    一款在线文档工具,现有swagger 文档、dubbo文档、数据库文档、WIKI文档、ElasticSearch文...

网友评论

      本文标题:文档

      本文链接:https://www.haomeiwen.com/subject/zqnmfjtx.html