Tôi chỉ cần tính tổng giá trị trên các đối tượng lồng nhau khớp với truy vấn. Có vẻ như ElasticSearch xác định các tài liệu khớp với truy vấn và sau đó tính tổng trên tất cả các đối tượng lồng nhau. Từ phác thảo dưới đây tôi muốn tìm kiếm trên nestedobjects.objtype = "A" và lấy lại tổng của objvalue chỉ cho phù hợp với nestedobjects, tôi muốn nhận được giá trị 4. là điều này có thể? Nếu vậy, làm thế nào?Tổng hợp chỉ khớp các giá trị đối tượng lồng nhau trong ElasticSearch
Dưới đây là các bản đồ
{
"myindex": {
"mappings": {
"mytype": {
"properties": {
"nestedobjects": {
"type": "nested",
"include_in_parent": true,
"properties": {
"objtype": {
"type": "string"
},
"objvalue": {
"type": "integer"
}
}
}
}
}
}
}
}
Dưới đây là tài liệu của tôi
PUT /myindex/mytype/1
{
"nestedobjects": [
{ "objtype": "A", "objvalue": 1 },
{ "objtype": "B", "objvalue": 2 }
]
}
PUT /myindex/mytype/2
{
"nestedobjects": [
{ "objtype": "A", "objvalue": 3 },
{ "objtype": "B", "objvalue": 3 }
]
}
Đây là mã truy vấn của tôi.
POST allscriptshl7/_search?search_type=count
{
"query": {
"filtered": {
"query": {
"query_string": {
"query": "nestedobjects.objtype:A"
}
}
}
},
"aggregations": {
"my_agg": {
"sum": {
"field": "nestedobjects.objvalue"
}
}
}
}
Cảm ơn, tôi sẽ thử nghiệm nó một chút. – user481779
Hoạt động như được quảng cáo! – user481779
Không có giải pháp thực: Phụ thuộc vào các giá trị đã biết trước cho bộ lọc, không hoạt động với biểu đồ, date_histogram hoặc các cụm từ có khóa không thể đoán trước. – Sebastian