美文网首页程序员
ES学习笔记-数据操作

ES学习笔记-数据操作

作者: 海盗公爵 | 来源:发表于2017-03-04 16:02 被阅读234次
    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最好。

    相关文章

      网友评论

        本文标题:ES学习笔记-数据操作

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