?
编程界的小学生
- 一、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"] }
1.3、id规则
自动生成的id长度为20个字符,是base64编码URL安全的,学名叫GUID,GUID在分布式系统并发生成时不可能会发生冲突。
2、手动生成
很简单,之前的crud演示过了,就是手动在_doc后面添加id,比如语法:index/_doc/id,比如同步MySQL数据到ES,就会采取此种方案,id就是MySQL业务主键id,还能防止重复,也方便查询。
3、两种id应用场景
- 看业务需求(看着像是废话,但是很关键)
- 自动生成可以用于日志收集的时候,手动生成就是db同步的时候的业务主键。
上述三种元数据,一图胜千言
【微信公众号】
?