一、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

es中的相关知识一(基本知识和id的定义)的更多相关文章

  1. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework中web相关的知识(概述)

    Spring Framework中web相关的知识 1.概述: 参考资料:官网documentation中第22小节内容 关于spring web mvc:  spring framework中拥有自 ...

  2. 与程序员相关的CPU缓存知识

    本文转载自与程序员相关的CPU缓存知识 基础知识 首先,我们都知道现在的CPU多核技术,都会有几级缓存,老的CPU会有两级内存(L1和L2),新的CPU会有三级内存(L1,L2,L3 ),如下图所示: ...

  3. 【转载】Python编程中常用的12种基础知识总结

    Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  4. Python编程中常用的12种基础知识总结

    原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...

  5. SQL Server中的TempDB管理——TempDB基本知识(为什么需要版本存储区)

    原文:SQL Server中的TempDB管理--TempDB基本知识(为什么需要版本存储区) 参考资料来自: http://blogs.msdn.com/b/sqlserverstorageengi ...

  6. react组件中的constructor和super小知识

    react组件中的constructor和super小知识 1.react中用class申明的类一些小知识 如上图:类Child是通过class关键字申明,并且继承于类React. A.Child的类 ...

  7. C#中Abstract和Virtua笔记,知识

    在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别.二者都牵涉到在派生类中与override的配合使用. 一.Virtual方法(虚方法) virtual ...

  8. 【前端知识体系-JS相关】JS基础知识总结

    1 变量类型和计算 1.1 值类型和引用类型的区别? 值类型:每个变量都会存储各自的值.不会相互影响 引用类型:不同变量的指针执行了同一个对象(数组,对象,函数) 1.2 typeof可以及检测的数据 ...

  9. Elasticsearch入门必备——ES中的字段类型以及常用属性

    使用Elasticsearch时,了解字段的概念,是必不可少的.毕竟无论是es还是传统的数据库,都无法弱化字段的类型. 背景知识 在Es中,字段的类型很关键: 在索引的时候,如果字段第一次出现,会自动 ...

随机推荐

  1. ffmpeg 使用 gdb 调试相关技巧

    本文说明了,在ffmpeg二次开发或调用库的过程,如何借助于ffmpeg源码进行调试. 注:ffmpeg版本是4.0. 1. 编写代码 编写将pcm数据转换为mp2的代码 pcm_to_mp2.c # ...

  2. 在win10上使用premake工具和vs2017编译运行Box2D源码和Testbed

    1.从github上下载Box2D源码的zip包 2.解压缩zip包 3.从premake网站下载premake5工具,解压后得到premake5.exe 4.将premake5.exe拷贝到Box2 ...

  3. WIN10家庭版添加"本地安全策略"

    新建文本文件 输入一下命令 @echo off pushd "%~dp0" dir /b C:\Windows\servicing\Packages\Microsoft-Windo ...

  4. Hadoop入门学习笔记之一

    http://hadoop.apache.org/docs/r1.2.1/api/index.html 适当的利用 null 在map中可以实现对文件的简单处理,如排序,和分集合输出等. 需要关心的内 ...

  5. spring boot中Elasticsearch默认版本问题

    这是今天遇上的一个问题. 添加的依赖是7.2.0版本的Elasticsearch,但是其中有两项是6.4.3的,导致我从其他地方移植过来的代码报错. 据大神说,这是因为spring boot中默认的E ...

  6. idea查看源码没有注释的问题

    进入idea的设置 勾选这两个 然后重新导入 页面的右上角有个下载download source的提示,点击下载即可 然后页面就要源码注释了

  7. Oracle参数文件修改

    初始化参数文件有两种,文本初始化参数文件 pfile 和二进制初始化参数文件 spfile.   动态参数文件spfile 这是Oracle推荐的初始化参数文件类型.这是一个可以写入和读取的二进制文件 ...

  8. Python解Leetcode: 539. Minimum Time Difference

    题目描述:给定一个由时间字符组成的列表,找出任意两个时间之间最小的差值. 思路: 把给定的链表排序,并且在排序的同时把60进制的时间转化成十进制整数: 遍历排序的数组,求出两个相邻值之间的差值: 求出 ...

  9. 微信公众号通过用户授权获取用户基本信息java版

    公司需要开发一个微信公众号,要求用户通过公众号登录公司网站时候自动获取用户的基本信息,在网上查资料发现大部分都是直接copy微信公众平台的开发文档,感觉还是介绍的不是太小白,所以为了方便大家也为了自己 ...

  10. TypeScript的变量声明

    1.全新的变量声明方式 let和const是JavaScript ES6中新添加的变量声明方式.let在很多方面与var是相似的,但是它可以避免一些在JavaScript里常见一些问题. 而const ...