我有一组查询结果,如下代码片段:
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 5,
"relation": "eq"
},
"max_score": "1.0",
"hits": [
{
"_index": "search_test",
"_type": "_doc",
"_id": "1",
"_score": "1.0",
"_source": {
"linkId": [
"111",
"222"
]
}
},
{
"_index": "search_test",
"_type": "_doc",
"_id": "2",
"_score": "1.0",
"_source": {
"linkId": [
"222",
"333"
]
}
},
{
"_index": "search_test",
"_type": "_doc",
"_id": "3",
"_score": "1.0",
"_source": {
"linkId": [
"222",
"333"
]
}
},
{
"_index": "search_test",
"_type": "_doc",
"_id": "4",
"_score": "1.0",
"_source": {
"linkId": [
"333",
"444"
]
}
},
{
"_index": "search_test",
"_type": "_doc",
"_id": "5",
"_score": "1.0",
"_source": {
"linkId": [
"555",
"666"
]
}
}
]
}
}
现在我想拿出 linkId 中的数据,并对其进行去重再分页,有办法能做到吗
1 个回复
Charele - Cisco4321
赞同来自:
1 如果你是要在DSL里面直接处理,加个pipeline聚合
2 如果你是对结果进行处理,可能更简单,
前提是用Java操作。
High level 客户端的结果是可以取到你要的结果的