您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
elasticSearch索引子文档
发布时间:2021-08-28 21:00:29编辑:雪饮阅读()
在上篇中有了解到elasticSearch索引一个父文档,那么接下来就需要索引一个子文档到上次索引的父文档中了。
一个请求示例如:
请求体:
{
"comment":"I am learning ELK",
"username":"Jack",
"my_join_field":{
"name":"answer",
"parent":"question1"
}
}
响应结果:
{
"_index": "my-index-000001",
"_type": "_doc",
"_id": "answer1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}
对于请求url中routing=question1,旨在和其父文档索引到同一个分片中。
咋看起来好像只是为了性能考量吧,如果没有这个routing应该也没有问题,实际上若你不指定它就是会报错,至少在我elasticsearch-7.14.0-windows-x86_64上面就是报错。
那么这里routing的值就是指定父文档的id,那么上次父文档的id就是question1。
对于请求url中id部分,这里取的是answer1,因为我们在前面建立父子索引关系时候,question为父,answer为子,所以这里就取了answer1。
对于请求体中my_join_field字段,我们同样是取自之前建立父子关系索引时候所定义的关联字段名。
对于请求体中my_join_field字段中的name子字段这里定义为answer,因为前面定义父子索引关系时候父文档就是question而子文档就是answer。
对于请求体中my_join_field字段中parent那么就是见名知意了,这里是定义父文档的id了。
关键字词:elasticSearch,索引,子文档