嵌套键elasticsearch上的Fielddata

时间:2017-11-27 09:17:53

标签: elasticsearch

https://www.elastic.co/guide/en/elasticsearch/reference/5.4/fielddata.html

我的结构是这样的:

{
    ...,
    attributes: {
        'attribute_1': ['value_1', 'value_2'],
        'attribute_2': ['value_2', 'value_3'],
    }
}

等。我可以将它重构为:

{
    ...,
    attributes: [
        {
            name: 'attribute_1',
            values: ['value_1', 'value_2']
        }
    ]
}

如果需要的话。我试图获取每个属性的所有值(UUID)(它们也是UUID)但似乎对于ElasticSearch - get all available filters (aggregate) from index中建议的Term Aggregation,我需要它们{{1} }}

由于在映射如何在fielddata=true的所有子键上设置fielddata时,我不知道属性ID?如果需要,在版本A或我可以重构到B(我会在某些时候)。

此外,如果还有其他方法可以跳过attributes问题,我很乐意听到。

属性的当前映射:

fielddata=true

1 个答案:

答案 0 :(得分:0)

您只有该字段的关键字字段。您无需更改映射。您的字段类型是对象字段,因此您不必查询valuesname字段的通配符或聚合,而是查询values.keywordname.keyword字段。享受!