我想用文件夹和对象索引目录结构。每个文件夹可以包含子文件夹和对象。
映射:
{
"mappings" : {
"folder" : {
"_parent" : {
"type" : "folder"
},
"properties" : {
"name" : {
"type" : "string"
}
}
},
"object" : {
"_parent" : {
"type" : "folder"
},
"properties" : {
"name" : {
"type" : "string"
}
}
}
}
}
树结构的深度是未知的。
搜索应匹配与指定查询匹配的所有对象以及路径中至少一个文件夹与指定查询匹配的所有项目。最后一部分我不知道如何不
has_parent
多次嵌套查询(这会限制树的深度)。
我认为match_all
基于过滤器的解决方案也行不通。
这个问题有什么可行的解决方案吗?(使用一个查询 - 也许使用不同的映射?)
PS:复制项目上的文件夹信息(反之亦然)不是一种选择,因为它信息量很大。