Elasticsearch的文档id生成方式与各种元数据的含义(各种字段的含义)

?

编程界的小学生

  • 一、document的id生成方式
    • 1、自动生成
      • 1.1、语法
      • 1.2、案例
      • 1.3、id规则
    • 2、手动生成
    • 3、两种id应用场景
  • 二、document核心元数据
  • 三、_source元数据
  • 四、_search结果元数据

?

一、document的id生成方式

1、自动生成

1.1、语法

很简单,就是index/type后面别跟id了,这时候就代表自动生成。

POST index/_doc
{
  "field": value
}

1.2、案例

POST test_index/_doc
{
  "name": "c++",
  "age":  33,
  "hobbies": ["xxx", "ooo"]  
}

Elasticsearch的文档id生成方式与各种元数据的含义(各种字段的含义)

1.3、id规则

自动生成的id长度为20个字符,是base64编码URL安全的,学名叫GUID,GUID在分布式系统并发生成时不可能会发生冲突。

2、手动生成

很简单,之前的crud演示过了,就是手动在_doc后面添加id,比如语法:index/_doc/id,比如同步MySQL数据到ES,就会采取此种方案,id就是MySQL业务主键id,还能防止重复,也方便查询。

3、两种id应用场景

  • 看业务需求(看着像是废话,但是很关键)
  • 自动生成可以用于日志收集的时候,手动生成就是db同步的时候的业务主键。
二、document核心元数据 三、_source元数据 四、_search结果元数据

上述三种元数据,一图胜千言
Elasticsearch的文档id生成方式与各种元数据的含义(各种字段的含义)

【微信公众号】
Elasticsearch的文档id生成方式与各种元数据的含义(各种字段的含义)

?

Elasticsearch的文档id生成方式与各种元数据的含义(各种字段的含义)

上一篇:MVC单元测试,使用Repository模式、Ninject、Moq


下一篇:Docker 添加--insecure-registry 私有镜像仓库