1. 程式人生 > 實用技巧 >ES基礎(四十二)文件的父子關係

ES基礎(四十二)文件的父子關係

課程demo

PUT my_blogs/_doc/comment1?routing=blog1
{
  "comment":"I am learning ELK",
  "username":"Jack",
  "blog_comments_relation":{
    "name":"comment",
    "parent":"blog1"
  }
}

#索引子文件
PUT my_blogs/_doc/comment2?routing=blog2
{
  "comment":"I like Hadoop!!!!!",
  "username":"Jack",
  
"blog_comments_relation":{ "name":"comment", "parent":"blog2" } } #索引子文件 PUT my_blogs/_doc/comment3?routing=blog2 { "comment":"Hello Hadoop", "username":"Bob", "blog_comments_relation":{ "name":"comment", "parent":"blog2" } } # 查詢所有文件 POST my_blogs/_search { } #根據父文件ID檢視 GET my_blogs
/_doc/blog2 # Parent Id 查詢 POST my_blogs/_search { "query": { "parent_id": { "type": "comment", "id": "blog2" } } } # Has Child 查詢,返回父文件 POST my_blogs/_search { "query": { "has_child": { "type": "comment", "query" : { "match": {
"username" : "Jack" } } } } } # Has Parent 查詢,返回相關的子文件 POST my_blogs/_search { "query": { "has_parent": { "parent_type": "blog", "query" : { "match": { "title" : "Learning Hadoop" } } } } } #通過ID ,訪問子文件 GET my_blogs/_doc/comment3 #通過ID和routing ,訪問子文件 GET my_blogs/_doc/comment3?routing=blog2 #更新子文件 PUT my_blogs/_doc/comment3?routing=blog2 { "comment": "Hello Hadoop??", "blog_comments_relation": { "name": "comment", "parent": "blog2" } }