我不确定这是否可行,或者是否有更好的方法来构建我的文档。
我当前的映射结构如下:
from itertools import combinations
from statistics import mean
a = [0,0,3,4,1,2,9]
b = list(filter(lambda x: isinstance(x, int), map(mean, combinations(a, 2))))
(我已经更改了对象的名称并缩小了属性,使其更易于stackoverflow)
我想要做的是获得所有“section.sectionDetail.detail.value”的平均值,其中类型为“typeOne”。
{
"objectName": {
"person": {
"properties": {
"firstName": {
"type": "text"
}
}
}
"properties": {
"id": {
"type": "long"
},
"sections": {
"type" : "nested",
"properties": {
"id": {
"type": "long"
},
"title": {
"type": "text"
},
"sectionDetails": {
"type" : "nested",
"properties": {
"id": {
"type": "long"
}
"detail": {
"properties": {
"id": {
"type": "long"
},
"type": {
"type": "keyword"
},
"value": {
"type": "long"
}
}
}
}
}
}
}
}
}
但是,文档可以包含许多“部分”和许多“部分详细信息”。 目前,如果我使用bool过滤器,并说出类型“must_not”“typeTwo”,那么我松开任何“typeTwo”的文件(其中也可能包含我想要的一些“typeOne”
我对如何更好地构建这个问题感到满意吗?
编辑: 我已更新结构和查询以匹配最新进度。 当我查询时,我得到一个null值。我相信过滤器不正确