#博客和评论父子模型
PUT /my_blogs
{
"mappings": {
"properties": {
"blog_comments_relation":{
"type": "join",
"relations":{
"blog":"comment"
}
},
"content":{
"type": "text"
},
"title":{
"type": "keyword"
}
}
}
}
PUT /my_blogs/_doc/blog1
{
"title":"ELK详解",
"content":"内容",
"blog_comments_relation":{
"name":"blog"
}
}
PUT /my_blogs/_doc/blog2
{
"title":"ELK详解2",
"content":"内容2",
"blog_comments_relation":{
"name":"blog"
}
}
PUT /my_blogs/_doc/c1?routing=blog1
{
"comment":"xihuan ELK1",
"username":"jack",
"blog_comments_relation":{
"name":"comment",
"parent":"blog1"
}
}
PUT /my_blogs/_doc/c2?routing=blog2
{
"comment":"xihuan ELK2",
"username":"lise",
"blog_comments_relation":{
"name":"comment",
"parent":"blog2"
}
}
PUT /my_blogs/_doc/c3?routing=blog1
{
"comment":"xihuan dfdsfadsfdsafasdfdsafdsa ELK1",
"username":"lise",
"blog_comments_relation":{
"name":"comment",
"parent":"blog1"
}
}
# has_child 查询返回父文档
GET /my_blogs/_search
{
"query": {
"has_child": {
"type": "comment",
"query": {
"match": {
"username": "lise"
}
}
}
}
}
# has_parent 查询返回父文档
GET /my_blogs/_search
{
"query": {
"has_parent": {
"parent_type": "blog",
"query": {
"match": {
"title": "ELK详解"
}
}
}
}
}