order
을 나타내는 Elasticsearch의 부모 - 자식 구조가있는 자식이 order_revision
인 경우 quantity
의 합계를 나타내는 price
의 막대 그래프를 생성하려고합니다.탄성 검색 집계 : 부모 당 최신 자녀 수의 합계
{
"_type": "order",
"_id": "1063220887",
"_score": 1,
"_source": {
"order_id": "1063220887",
"product_id": "10446350",
"timestamp": 1462713302000
}
}
{
"_type": "order_revision",
"_id": "10234234",
"_parent": "1063220887",
"_source": {
"price": 9,
"quantity": 3,
"revision": 361,
"timestamp": 1462712196000
}
}
다음 집계는 기본적으로 작동하지만 기존 수정 버전의 합계를 반환합니다.
{
"aggs": {
"orders": {
"filter": {
"has_parent": {
"parent_type": "order"
}
},
"aggs": {
"quantity_per_price": {
"histogram": {
"field": "price",
"interval": 1
}
"aggs": {
"sum": {"field": quantity"}
}
}
}
}
}
}
최종 버전 만 모든 주문의 (/ 최신 timestamp
가장 높은 사용) 최신 개정을위한 quantity
필드의 합계를 반환해야합니다. order_id
으로 그룹화하는 집계 방법을 알아 내고 최신 자식 만 선택하는 방법에 대해 확신하지는 못합니다.이 부모 - 자식 구조가이 데이터를 모델링하는 데 가장 적합한 지 확실하지 않습니다.
대략 주문 당 몇 개정이 있습니까? 우리는 10-20 +와 같이 1-2 이상의 크기로 말하고 있습니까? – Val
약 10 .... –