无法使用模板名称搜索elasticsearch索引

问题描述 投票:0回答:1

我已经能够使用具有模式 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

elasticsearch elasticsearch-rest-client
1个回答
0
投票

您可以更新

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

© www.soinside.com 2019 - 2024. All rights reserved.