Index Aliases

An alias is a secondary name for a group of data streams or indices. Most Elasticsearch APIs accept an alias in place of a data stream or index name

POST Aliases

POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "kibana_sample_data_ecommerce",
        "alias": "supershop"
      }
    }
  ]
}

Search Based on Alias

GET supershop/_search

Add Remove Aliases

POST _aliases
{
  "actions": [
    {
      "remove": {
        "index": "kibana_sample_data_ecommerce",
        "alias": "supershop"
      }
    },
    {
      "add": {
        "index": "kibana_sample_data_ecommerce",
        "alias": "onlineshop"
      }
    }
  ]
}

Search Aliases

GET supershop/_search
GET onlineshop/_search

Component Template

PUT _component_template/logs_component_template
{
  "template": {
    "aliases": {
      "logs": {}
    }
  }
}

Index Template

PUT _index_template/logs_index_template
{
  "index_patterns": ["logs-*"],
  "composed_of": ["logs_component_template"],
  "template": {
    "aliases": {
      "logs-all": {},
      "logs-error": {
        "filter": {
          "term": {
            "severity.keyword": "error"
          }
        }
      },
      "logs-warning": {
        "filter": {
          "term": {
            "severity.keyword": "warning"
          }
        }
      }
    }
  }
}

Post Data

POST logs-jan/_doc
{
  "message": "server down",
  "severity": "error"
}

Post Data - 2

POST logs-jan/_doc
{
  "message": "server slow",
  "severity": "warning"
}

Test Aliases

# Actual Index
GET logs-jan/_search
GET logs-feb/_search

# All Aliases below
GET logs/_search
GET logs-all/_search
GET logs-error/_search
GET logs-warning/_search

Cleanup

DELETE logs
DELETE logs-error
DELETE logs-warning
DELETE logs-jan
DELETE _index_template/logs_index_template
DELETE _component_template/logs_component_template