我收集了如下的文档:
`
{
"_index": "senseihub-data",
"_type": "historical-data",
"_id": "AVa-BvxJ9Iu6vSdmuerK",
"_score": 1,
"_source": {
"university": "JOHNS HOPKINS UNIVERSITY",
"description": "FUNCTIONAL ANALYSIS OF CAROTID BODY RESPONSES TO HYPOXIA IN MICE\"",
"funding": 3327323,
"taxonomy": "Signal Processing "
}
}`
现在我想找到一些分类的总资金信息。如果我搜索分类法:‘信号处理’,‘数据挖掘’,我想得到以下输出
信号处理:所有具有信号处理分类法的文档的“资金”字段的总和。
数据挖掘:所有具有数据挖掘分类法的文档的“资金”字段总数
到目前为止,这是我想出来的,但这并不能正常工作:
`
{
"query":{
"bool":{
"should":[
{
"term":{
"taxonomy":"Signal Processing"
}
},
{
"term":{
"taxonomy":"Data Mining"
}
}
]
}
},
"sort":[
{
"funding":{
"order":"desc"
}
}
],
"aggs":{
"funds":{
"sum":{
"field":"funding"
}
}
}
}`
对于弹性搜索,我是个十足的新手。请帮帮忙。
发布于 2016-08-25 23:31:57
您可以通过以下方式获得每个分类法的资金总和
{“查询”:{ "match_all":{ },"aggs":{“分类法”:{“术语”:{“字段”:“分类法”,“大小”:0 },"aggs":{ "NAME":{ "sum":{ "field":"funding“},"size":0}
上面的查询将为每个分类提供资金总额。
如果您想要用于特定分类的资金总额
{“查询”:{“术语”:{“分类法”:{“值”:“信号处理”},"aggs":{ "NAME":{ "sum":{ "field":"funding“}
确保字段“分类法”是,而不是分析其他值,如“信号处理”将被标记为“信号”、“处理”。
您的查询试图实现的目标是:
https://stackoverflow.com/questions/39155850
复制相似问题