我想按地址分组,然后按日期获取最新地址,然后按状态过滤此结果。
ex
{address: 'A', date: '10-10-1991', status: 'sold'}
{address: 'A', date: '10-10-2016', status: 'active'}
{address: 'A', date: '10-10-1981', status: 'sold'}
{address: 'B', date: '10-10-2016', status: 'sold'}
{address: 'B', date: '10-10-1771', status: 'sold'}
{address: 'B', date: '10-10-1991', status: 'active'}
//Getting address with sold status should give me only this record {address: 'B', date: '10-10-2016', status: 'sold'} since most updated one in address A is an active status
我在弹性搜索中有这个查询,但它只能按地址分组并获取最新日期。我无法按状态过滤此结果。
{
"size": 0,
"aggs": {
"group": {
"terms": {
"field": "address"
},
"aggs": {
"group_docs": {
"top_hits": {
"size": 1,
"sort": [
{
"updated_date": {
"order": "desc"
}
}]
}
}
}
}
}
}
// This query gives me this records
{address: 'A', date: '10-10-2016', status: 'active'}
{address: 'B', date: '10-10-2016', status: 'sold'}
我想使用 elasticsearch 从结果中获取销售状态