Osk*_*son 7 search faceted-search elasticsearch elasticsearch-aggregation
在我Elasticsearch服务器我有三个指标:Person,Archive和Document.
每个文档都有一个archive字段,它是_id的Archive它在不在.
每个归档有一个owner它是_id的Person那是存档的所有者.
通过上面的索引,我可以将文档聚合到存档和存档的存储桶中.
我怎样才能将文档包含在人员聚合中,这样如果我过滤特定的人,我会获得档案及其属于该人的文档,而不仅仅是档案?
这是我到目前为止过滤和汇总存档到业主的桶:
{
"post_filter": {
"terms": {
"owner": [
"my_owner_id"
]
}
},
"aggs": {
"_filter_archive": {
"filter": {
"terms": {
"owner": [
"my_owner_id"
]
}
},
"aggs": {
"archive": {
"terms": {
"field": "archive"
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这将很难回答,因为您似乎遗漏了一些细节。简单的答案是:使用嵌套文档或父子关系。根据您的情况使用哪一种取决于很多因素。我的建议是尝试并测试它们。看看他们的表现如何。第三种选择是完全非规范化数据。这就是我询问更新、更新频率、个人文档有多大、存档文档有多大等问题的原因。如果您不准备回答这些问题,请测试嵌套和父子关系并选择其中之一或其他。祝你好运!
| 归档时间: |
|
| 查看次数: |
468 次 |
| 最近记录: |