如何使用属性散列进行聚合时获取原始elasticsearch映射属性
问题描述:
我有以下类型的映射。如何使用属性散列进行聚合时获取原始elasticsearch映射属性
"clean_url": {
"type": "keyword",
"fields": {
"hash": {
"type": "murmur3"
}
},
"index": "false"
}
}
现在,在这种情况下,我可以做长期聚集在这个时尚
"terms": {
"field": "clean_url",
}
或
"terms": {
"field": "clean_url.hash",
}
在第一种情况下,斗关键是clean_url,但在第二案例密钥是clean_url.hash。
我想要原始的clean_url键,以防我在其散列上进行聚合。我怎样才能做到这一点。
答
你可以这样做:
curl -XGET "http://localhost:9200/your_index/your_type/_search" -H 'Content-Type: application/json' -d'
{
"size": 0,
"aggs": {
"per_url": {
"terms": {
"field": "clean_url.hash"
},
"aggs": {
"value": {
"terms": {
"field": "clean_url",
"size": 1
}
}
}
}
}
}'
子聚集的"size": 1
假定不存在散列冲突,但是这是可以修改的。
根据您的数据,它应该足够快。