我已经能够使用具有模式 stack_id_* 的索引模板 stack_search 来获取数据,但它还有一个带有几个字段的过滤器的别名。
带有索引模式stack_id*的stack_search*
{
"template": {
"settings": {
"index": {
"lifecycle": {
"name": "2-week-retention"
},
"routing": {
"allocation": {
"include": {
"_tier_preference": "data_content"
}
}
}
}
},
"number_of_shards": "10",
"number_of_replicas": "1"
},
"aliases": {
"stack_gssearch": {
"filter": {
"bool": {
"must_not": [
{
"exists": {
"field": "runtimeId"
}
}
]
}
}
}
},
"mappings": {}
}
索引示例 stack_id_202402、stack_id_202403 等
但我最近创建了一个新的索引模板 log_search,用于具有模式 log* 的索引,但没有任何别名,因为我不需要过滤器。但现在当我尝试使用索引模板搜索数据时。我没有发现这样的索引异常。
日志搜索
{
"template": {
"settings": {
"index": {
"lifecycle": {
"name": "2-week-retention"
},
"routing": {
"allocation": {
"include": {
"_tier_preference": "data_content"
}
}
}
}
}
},
"aliases": {},
"mappings": {}
}
我确实看到 log* 的新索引从索引模板中获取生命周期属性。但无法理解链接。
索引示例:log_test_202402、log_test_202403
我正在尝试以下查询。我什至尝试过使用 Kibana,它会自动填充 stack_search 但不会自动填充 log_search POST log_search/_search
您可以更新
log_search
模板并添加别名。请注意,索引模板会将别名添加到新索引中。对于现有索引,您可以使用 _aliases
API 调用并向现有索引添加别名。
对于现有指数
POST /_aliases?pretty
{
"actions": [
{
"add": {
"index": "log_test_*",
"alias": "log_search"
}
}
]
}
对于模板:
PUT _index_template/template_1
{
"index_patterns" : ["logs*"],
"template": {
"aliases" : {
"logs_search" : {}
}
}
}
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-template.html