赞
踩
PUT ellistest
{
"mappings": {
"properties": {
"a":{
"type": "wildcard"
},
"b":{
"type": "wildcard"
},
"my_join_field": {
"type": "join",
"relations": {
"question": "answer"
}
}
}
}
}
这段代码建立了一个ellistest的索引,其中my_join_field是一个用于join的字段,type为join,关系relations为:父为question, 子为answer
至于建立一父多子关系,只需要改为数组即可:“question”: [“answer”, “comment”]
PUT ellistest/_doc/1
{
"a":"一个",
"my_join_field":"question"
}
PUT ellistest/_doc/2
{
"a":"两个",
"my_join_field":"question"
}
PUT ellistest/_doc/3?routing=1
{
"b":"一个问题的答案",
"my_join_field": {
"name": "answer",
"parent": "1"
}
}
子文档的插入语法如下,注意routing是父文档的id,平时我们插入文档时routing的默认就是id
此时name为answer,表示这是个子文档
GET ellistest/_search
{
"query": {
"bool": {
"must": [
{
"has_parent": {
"parent_type": "question",
"query": {
"term": {
"a": {
"value": "一个"
}
}
}
}
},{
"term": {
"b": {
"value": "一个问题的答案"
}
}
}
]
}
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。