• es中的相关知识一(基本知识和id的定义)


    一、es中文档的元数据包括:

    1、_index:

         索引(index)类似于关系型数据库里的数据库(database),事实上,我们的数据被存储和索引在分片(shards)中,索引知识把一个或多个分片分组在一起的逻辑空间,

    索引名字必须全部小写,不能以下划线开头,不能包含逗号。

    2、_type:

        类型(type)类似于关系型数据库中的table,在es中我们用type表示相同的‘事务’,每个类型(type)都有自己的映射(mapping)或者结构定义,就像传统数据库表中的列一样。所有类型下的文档被存储在同一个
    索引下,但是类型的映射(mapping)会告诉Elasticsearch不同的文档如何被索引。

    _type  的名字可以是大写或小写,不能包含下划线或逗号。

    3、_id:

         id仅仅是一个字符串,它与_index和_type组合时,就可以在es中唯一标识一个文档,当创建一个文档,你可以自定义 _id  ,也可以让Elasticsearch帮你自动生成。

    二、如何索引一个文档

    1、自定义id

    如果你的文档有自然的标识符(例如 user_account  字段或者其他值表示文档),你就可以提供自己的 _id  ,使用这种形式
    的 index  API:

    PUT /{index}/{type}/{id}
    {
    "field": "value",
    ...
    }

    响应
    { "_index": "...", "_type": "...", "_id": "...", "_version": 1, "created": true }

     响应指出请求的索引已经被成功创建,这个索引中包含 _index  、 _type  和 _id  元数据,以及一个新元素: _version  。
    Elasticsearch中每个文档都有版本号,每当文档变化(包括删除)都会使 _version  增加。

    2、自增id

    如果我们的数据没有自然ID,我们可以让Elasticsearch自动为我们生成。请求结构发生了变化: PUT  方法—— “在这个URL中存
    储文档”  变成了 POST  方法—— "在这个文档下存储文档"  。

    URL现在只包含 _index  和 _type  两个字段:

    POST /{index}/{type}/
    {
    "title": "...",
    "text": "...",
    "date": "..."
    }
    

      响应内容与刚才类似,只有 _id  字段变成了自动生成的值:

    {
    "_index": "...",
    "_type": "...",
    "_id": "wM0OSFhDQXGZAWDf0-drSA",
    "_version": 1,
    "created": true
    }
    

      自动生成的ID有22个字符长,URL-safe, Base64-encoded string universally unique identifiers, 或者叫 UUIDs。

    来自 https://blog.csdn.net/qq_40651753/article/details/86006446

  • 相关阅读:
    HTTP下载文件校验失败原因分析与解决
    读《软件测试的艺术》
    CXF wsdl2java 错误
    oracle 存储过程 多参数 多返回值
    ORACLE 函数 调用
    typescript学习入门(学习笔记)
    js常用方法总结
    jenkins安装及项目构建发布回滚
    Centos8中创建LVM精简逻辑卷
    k8s kubectl命令自动补全
  • 原文地址:https://www.cnblogs.com/wang102030/p/11950622.html
Copyright © 2020-2023  润新知