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
答案 0 :(得分:0)
您只有该字段的关键字字段。您无需更改映射。您的字段类型是对象字段,因此您不必查询values
或name
字段的通配符或聚合,而是查询values.keyword
或name.keyword
字段。享受!