我有一个看起来像这样的Elasticsearch映射:
"product": {
"properties": {
"attributes": {
"type": "keyword",
"normalizer": "lowercase"
},
"skus": {
"type": "nested",
"properties": {
"attributes": {
"type": "keyword",
"normalizer": "lowercase"
}
}
}
}
}
我正在尝试通过将字段attributes
和字段skus.attributes
进行级联来进行术语汇总,但是我还没有弄清楚该怎么做。这两个字段都是简单的字符串数组。据我所知:
{
"query": {
"match_all": {}
},
"aggregations": {
"unique_attrs": {
"terms": {
"field": "attributes"
}
}
}
}
当然,我可以用某种方式重新索引我的数据,即会有另一个字段包含两个字段的值的串联,但这似乎是正确的。
答案 0 :(得分:0)
如Elasticsearch论坛上所述:https://discuss.elastic.co/t/combining-nested-and-non-nested-aggregations/82583,建议在索引数据时使用copy_to
映射将它们合并。