在定义索引模板时是否可以定义不同的别名。不同的别名将引用满足特定条件的索引名称。
示例:
{
"index_patterns":[
"*employee_records*"
],
"settings":{
"number_of_shards":3
},
"mappings":{
"_doc":{
"dynamic_templates":[
// Dynamic Mapping
]
}
},
"aliases":{
"employee_records":{}
}
}
让我们假设我们创建了多个索引,例如
在定义索引模板时,这些索引都不存在。映射将保持不变。我想为上述场景science_dept_employee_records
和maths_dept_employee_records
定义两个别名。
我可以想到的一种方法是复制索引模板,以便为
提供别名。 "index_patterns":[
"maths_dept_employee_records*"
]
和另一个别名
"index_patterns":[
"science_dept_employee_records*"
]
但是,这将在多个模板之间引入大量重复项。有没有更简单的方法来实现这一目标?
答案 0 :(得分:3)
一种实现此目的的方法是使用multiple templates matching,其排序方式如下。
一个模板定义了所有的映射和设置,并且顺序最低(先申请):
{
"index_patterns":[
"*employee_records*"
],
"order": 1,
"settings":{
"number_of_shards":3
},
"mappings":{
"_doc":{
"dynamic_templates":[
// Dynamic Mapping
]
}
}
}
另一个模板为更高级别的maths_dept_employee
索引定义了别名,然后将其应用:
{
"index_patterns":[
"maths_dept_employee_records*"
],
"order": 2,
"aliases":{
"maths_dept_employee_records":{}
}
}
与science_dept_employee
索引相同:
{
"index_patterns":[
"science_dept_employee_records*"
],
"order": 2,
"aliases":{
"science_dept_employee_records":{}
}
}