我有一种可以有很多嵌套类型对象的文档,如何将所有这些对象映射为嵌套,而不必为文档中的每个字段单调繁琐地指定映射?
答案 0 :(得分:0)
你见过Dynamic templates吗?
动态模板允许您定义可以的自定义映射 应用于基于以下内容的动态添加字段:
- Elasticsearch检测到的datatype,
match_mapping_type
。- 字段的名称,包含
match
andunmatch
或match_pattern
。- 该字段的完整虚线路径,
path_match
andpath_unmatch
。原始字段名称
{name}
和检测到的数据类型{dynamic_type}
template variables可用于映射 规范作为占位符。
因此,您可以通过向字段添加某种特殊模式来使用此示例,因此模板会识别它并将其映射为嵌套对象。
PUT my_index
{
"mappings": {
"my_type": {
"dynamic_templates": [
{
"nested_objects": {
"match": "nested_*",
"mapping": {
"type": "nested"
}
}
}
]
}
}
}
P.S。我自己没有测试过。如果这有助于你,请告诉我。