是否可以删除给定字段上的重复项?
例如,以下查询:
{
"query": {
"term": {
"name_admin": {
"value": "nike"
}
}
},
"_source": [
"name_admin",
"parent_sku",
"sku"
],
"size": 2
}
正在检索
"hits" : [
{
"_index" : "product",
"_type" : "_doc",
"_id" : "central30603",
"_score" : 4.596813,
"_source" : {
"parent_sku" : "SSP57",
"sku" : "SSP57816401",
"name_admin" : "NIKE U NSW PRO CAP NIKE AIR"
}
},
{
"_index" : "product",
"_type" : "_doc",
"_id" : "central156578",
"_score" : 4.596813,
"_source" : {
"parent_sku" : "SSP57",
"sku" : "SSP57816395",
"name_admin" : "NIKE U NSW PRO CAP NIKE AIR"
}
}
]
我想跳过parent_sku
上的重复项,因此每个parent_sku
仅得到一个结果,就像suggestion
可以通过执行类似"skip_duplicates": true
的操作一样。
[我知道我使用aggregation
即可实现此目标,但我想坚持搜索,因为我的查询有点复杂,而且我正在使用scroll
API,该API无法用于聚合。
{
"query": {
"term": {
"name_admin": {
"value": "nike"
}
}
},
"collapse" : {
"field" : "parent_sku",
"inner_hits": {
"name": "parent",
"size": 1
}
},
"_source": false,
"size": 2
}
上面的查询将返回一个文档parent_sku
。