0
내 지수의 다음과 같은 스타일의 문서가 :Elasticsearch 쿼리
{
"docType": {
"valuesOverTime": [
{
"begin": 1488442858570,
"end": 1488442860570,
"values": [
{
"name": "level",
"segCount": 4
}
]
},
{
"begin": 1488442860571,
"end": 1488442890592,
"mcdn": [
{
"name": "level",
"segCount": 10
}
]
},
{
"begin": 1488442890593,
"end": 1488442890600,
"mcdn": [
{
"name": "level",
"segCount": 7
}
]
}
]
}
}
을 일정 시간 범위에서 docType.valuesOverTime.values.segCount의 합계를 조회 할 다음 범위처럼
{
"range": {
"docType.valuesOverTime.begin": {
"gte": 1488442858570,
"lte": 1488442860571
}
}
},
{
"range": {
"docType.valuesOverTime.end": {
"gte": 1488442860570,
"lte": 1488442890592
}
}
}
나에게 처음 두 항목의 합계를 얻어야한다 : (14)
를 내가 쿼리 권리를 얻는 절대적으로 붙어입니다 그러나! 이 경우에는 docType.valueOverTime.values.segCount의 모든 항목의 합이 21이됩니다.
나는 다음과 같은 쿼리와 그들에 대한 몇 가지 변화를 시도하는 경우 물론 모든 잘못 :{
"size": 0,
"aggs": {
"myfilter": {
"filter": {
"bool": {
"must": [
{
"range": {
"docType.valuesOverTime.begin": {
"gte": 1488442858570,
"lte": 1488442860571
}
}
},
{
"range": {
"docType.valuesOverTime.end": {
"gte": 1488442860570,
"lte": 1488442890592
}
}
}
]
}
},
"aggs": {
"summe": {
"sum": {
"field": "docType.valuesOverTime.values.segCount"
}
}
}
}
}
}
및
{
"_source": "docType.valuesOverTime.values",
"query": {
"constant_score" : {
"filter" : {
"bool": {
"must": [
{
"range": {
"docType.valuesOverTime.begin": {
"gte": 1488442858570,
"lte": 1488442860571
}
}
},
{
"range": {
"docType.valuesOverTime.end": {
"gte": 1488442860570,
"lte": 1488442890592
}
}
}
]
}
}
}
},
"aggs": {
"summe": {
"sum": {
"field": "docType.valuesOverTime.values.segCount"
}
}
}
}
누군가가 내가 잘못 잡았는지 말해 주시겠습니까? 그리고 그것을 올바르게하는 방법!
내가 나 자신을 해결
"valuesOverTime": {
"properties": {
"begin": {
"type": "long"
},
"end": {
"type": "long"
},
"values": {
"properties": {
"name": {
"type": "keyword"
},
"segCount": {
"type": "long"
}
}
}
}
}