iç içe geçmiş nesne değerleri eşleşti Yalnızca sorguyla eşleşen iç içe geçmiş nesnelerdeki değerleri toplamalıyım. ElasticSearch, sorguyla eşleşen belgeleri belirler ve daha sonra iç içe geçmiş nesnelerin tümünü karşılaştırır. Aşağıdaki ana hattan nestedobjects.objtype = "A" ile arama yapmak ve sadece objectedobjects ile eşleşen objvalue toplamını almak istiyorum, 4. değeri almak istiyorum. Bu mümkün mü? Öyleyse nasıl?Agrega sadece ElasticSearch
İşte haritalayan
{
"myindex": {
"mappings": {
"mytype": {
"properties": {
"nestedobjects": {
"type": "nested",
"include_in_parent": true,
"properties": {
"objtype": {
"type": "string"
},
"objvalue": {
"type": "integer"
}
}
}
}
}
}
}
}
İşte
olan belgelerim
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 }
]
}
İşte benim sorgu kodudur
olduğunu. Her iki (dış) belgelerin iç dokümanların bir eşleşen bu durum neticesinde yanaPOST allscriptshl7/_search?search_type=count
{
"query": {
"filtered": {
"query": {
"query_string": {
"query": "nestedobjects.objtype:A"
}
}
}
},
"aggregations": {
"my_agg": {
"sum": {
"field": "nestedobjects.objvalue"
}
}
}
}
Teşekkürler, biraz test edeceğim. – user481779
İlan edildiği şekilde çalışır! – user481779
Gerçek bir çözüm yok: Filtre için önceden bilinen değerlere bağlı, histogram, date_histogram veya öngörülemeyen tuşlarla terimlerle çalışmaz. – Sebastian