Elasticsearch具有此missing
属性,该属性为缺失值的存储桶分配其他一些值。
我只是想知道是否有一种方法可以将存储桶分配到许多存储桶中,甚至仍然可以将它们分配到已经存在的存储桶中。
用例:
获取需要索引位置字段的文档。
{
...
"locations": [{
"city" : "LA",
"suburb": "Beverly Hills"
},
{
"city" : "LA",
"suburb": "Hollywood"
}]
}
有些文档需要索引到一个郊区,并且可以到达郊区级别,而其他文档则跨越多个郊区。无需将文档索引到所有郊区,只需将文档索引到城市级别,然后所有缺少郊区的郊区都将覆盖整个城市(即城市中的所有郊区)
{
...
"locations": [{
"city" : "LA"
}]
}
包括文档是搜索结果不是什么大问题,现在的问题是要计算所有郊区的那些文档。因此,从本质上讲,如果洛杉矶有2个郊区,而以上是我们唯一的文件,我们最终将得到以下用于郊区聚合的存储桶。
"buckets" : [
{
"key" : "Beverly Hills",
"doc_count" : 1
},
{
"key" : "Hollywood",
"doc_count" : 1
}]