ES学习笔记-数据操作

  1. 在ES中,每一个字段的数据都是默认被索引的,即,每一个字段专门有反向索引可以用来快速检索。

  2. 文档元数据
    _index 文档存储的地方
    _type 文档代表的对象的类
    _id 文档的唯一标识
    索引(index)名字必须全部小写,不能以下划线开头,不能包括逗号
    类型(type)都有自己的映射(mapping)或者结构定义。
    id仅仅是个字符串,可以自定义_id, 也可以让ES自动生成。

  3. 检索文档
    GET请求将返回文档的全部,存储在_source参数中,请求个别字段可以使用_source参数,多个字段使用逗号分隔。

  4. 检查文档是否存在
    用HEAD方法代替GET方法,请求不会返回响应体,只有HTTP头。存在在返回200 OK, 不存在返回404 NOT FOUND。

  5. 更新整个文档
    文档在ES中是不可变的,如果更新文档,ES的version会发生变化,自动加1。
    更新文档的过程:
    1. 从旧文档中检索JSON
    2. 修改它
    3. 删除旧文档
    4.索引新文档

  6. 创建一个新文档
    使用 PUT方法来新建一个文档

  7. 删除文档
    使用DELETE方法来进行文档的删除
    只是标记为删除,会再另外的时间点进行索引删除。

  8. 更新文档
    update请求表单接受一个局部文档参数 doc,它会合并到现有文档中,对象合并在一起,存在的标量字段被覆盖,新字段被调价。
    更新可能不存在的文档
    使用upsert参数定义文档使其不存在时被创建
    更新和冲突
    通过使用retry_on_conflict参数设置重试次数来自动完成

  9. 检索多个文档
    mget API参数是一个docs数组,合并多个请求可以避免每个的请求单独的网络开销
    mget的话只要请求成功了,都会返回 200 OK,可以通过found标志来查看文档是否被成功检索到。

  10. 批量操作
    bulk API 可以实现单一请求多个文档的 create, index, update, 或者delete。
    整个批量球球需要被加载到接受请求节点的内存里,,一般来说,请求的批次量的数据大小最好保持在5-15M最好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,948评论 18 139
  • 很少写技术博客,一是觉得自己技术有限,怕误人子弟;二是文笔较差,比较排斥写作之类的工作。话说不锻炼,哪会有进步呢,...
    奔跑的番茄酱阅读 42,404评论 7 132
  • 欢迎访问我的博客查看原文:http://wangnan.tech 注:文本整理自《ELKstack权威指南》 目录...
    GhostStories阅读 10,510评论 0 7
  • 文档元数据 一个文档不仅仅包含它的数据 ,也包含 元数据 —— 有关 文档的信息。 三个必须的元数据元素如下: _...
    techhow阅读 622评论 0 0
  • 断断续续大约花了3天时间把这本小说看完。感慨就是 在别人的期望里生活真的好累!书中的大女儿是家庭的中心,母亲因...
    累成狗还会累阅读 283评论 0 0