【发布时间】:2020-04-09 02:08:28
【问题描述】:
在 Elasticsearch 中,我的索引具有以下定义的字段:
"my_id": {
"type": "keyword"
},
"titles": {
"type": "keyword",
"fields": {
"fulltext": {
"type": "text"
}
}
}
我为每个文档存储多个titles(基本上是一个字符串数组)。
假设我用以下内容索引一个文档:
- my_id = "MH123"
- titles = [“星球大战:新希望”、“星球大战:绝地归来”、“星球大战:“帝国反击战”]
我想根据每个文档 ID 返回 significant_terms 聚合。比如……
- 其中 my_id = "MH123"
- 重要的术语是:“星球大战”
我知道如何使用significant_terms 聚合跨 文档执行此操作。但是,我无法让它在文档内的子聚合上工作。
我尝试在存储桶中创建一个存储桶,第一个存储桶在 ID 上进行分区,内部存储桶返回重要术语。重要术语返回一个空数组。
{
"aggs": {
"titles": {
"terms": {
"field": "my_id"
},
"aggs": {
"my_common_terms": {
"significant_terms": {
"field": "titles"
}
}
}
}
}
}
【问题讨论】:
标签: elasticsearch