elasticsearch - elastic search select only distinct with max field value -


i have documents contain version number:

{   "original_id" : "1234",   "version" : 1 }   {   "original_id" : "1234",   "version" : 2 }   {   "original_id" : "4567",   "version" : 1 } 

i need select documents distinct id's , max version number.

final result should be:

[     {         "original_id": 1234,         "version" : 2     },     {         "original_id" : 4567,         "version" : 1     } ] 

i confused documentation -- should using aggs? did, still of them. want top version

in sql:

select distinct(original_id) id, max(version) version docs grouping id;

here current query:

{     "from" : 0,     "size" : 25,     "sort": [{         "version": {             "order": "desc",             "mode": "max"         }     }],     "query": {         "filtered": {             "query": {                 "bool": {                     "must": [                         {                             "match": {"original_id": "95936d0b-0de4-44ad-81d3-b95d3200c27f"}                         }                     ]                 }             },             "filter": {                 "range": {                     "start" : {                     }                 }             }         }     } } 

yes should using aggregations. . .following query requirement. `

{   "aggs": {     "agg1": {       "terms": {         "field": "original_id",         "size": 0       },"aggs": {         "agg2": {           "max": {             "field": "version"           }         }       }     }   } 

`


Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -