• Elasticsearch技术解析与实战(五)Document解析


    1.手动指定document id

        一般来说,是从某些其他的系统中,导入一些数据到es时,会采取这种方式,就是使用系统中已有数据的唯一标识,作为es中document的id。

    PUT /index/type/id

    2.自动生成document id

        如果说,我们是在做一个系统,这个系统主要的数据存储就是es一种,也就是说,数据产生出来以后,可能就没有id,直接就放es一个存储,那么这个时候,可能就不太适合说手动指定document id的形式了,因为你也不知道id应该是什么,此时可以采取下面要讲解的让es自动生成id的方式。

    post /index/type

     3.定制返回的结果,指定_source中,返回哪些field

    GET /test_index/test_type/1?_source=test_field1,test_field2

    4.document的全量替换

    (1)语法与创建文档是一样的,如果document id不存在,那么就是创建;如果document id已经存在,那么就是全量替换操作,替换document的json串内容

    (2)document是不可变的,如果要修改document的内容,第一种方式就是全量替换,直接对document重新建立索引,替换里面所有的内容

    (3)es会将老的document标记为deleted,然后新增我们给定的一个document,当我们创建越来越多的document的时候,es会在适当的时机在后台自动删除标记为deleted的document

    5.document的强制创建

      创建文档与全量替换的语法是一样的,有时我们只是想新建文档,不想替换文档,如果强制进行创建呢?

      PUT /index/type/id?op_type=create,PUT /index/type/id/_create

    6.document的删除

      不会理解物理删除,只会将其标记为deleted,当数据越来越多的时候,在后台自动删除

    DELETE /index/type/id
  • 相关阅读:
    codevs1004 四子连棋
    codevs1009 产生数
    NOIP2014 寻找道路
    Tyvj1139 向远方奔跑(APIO 2009 抢掠计划)
    随机算法
    线性基
    线性基入门
    线性基 + 并查集
    欧拉公式 (平面)
    卡特兰数 + 大数
  • 原文地址:https://www.cnblogs.com/cnki/p/7500488.html
Copyright © 2020-2023  润新知