📘

📘 Kibanaでよく使うインデックス操作・エイリアス操作クエリ集(Dev Tools 編)

に公開

Elasticsearch に保存されたデータを管理するには、インデックス(Index)やエイリアス(Alias)を直接操作することが重要です。ここでは Dev Tools(Console)でよく使われる操作コマンドをまとめました。

🔎 インデックス・エイリアス一覧の確認

すべてのインデックス一覧を表示

GET /_cat/indices?v

すべてのエイリアス一覧を表示

GET /_cat/aliases?v

📂 インデックスの作成・削除

🆕 インデックスを作成する

PUT /person_20250601
{
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "name": { "type": "text" },
      "age": { "type": "integer" },
      "created_at": { "type": "date" }
    }
  }
}

インデックスを削除する

DELETE /person_20250601

🔁 エイリアス操作(切り替え・追加・削除)

🔄 エイリアスの切り替え(旧→新)

POST /_aliases
{
  "actions": [
    {
      "remove": {
        "index": "person_旧インデックス名",
        "alias": "person_index"
      }
    },
    {
      "add": {
        "index": "person_20250601",
        "alias": "person_index"
      }
    }
  ]
}
  • person_index が新しいインデックス person_20250601 を参照するよう切り替え。
  • indexalias の名前はプロジェクトの方針に合わせて。

➕ エイリアスの追加(既存インデックスに付ける)

POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "person_20250601",
        "alias": "person_latest"
      }
    }
  ]
}

➖ エイリアスの削除

POST /_aliases
{
  "actions": [
    {
      "remove": {
        "index": "person_20240601",
        "alias": "person_latest"
      }
    }
  ]
}

🔍 特定のインデックス or エイリアスの状態確認

インデックスの詳細情報

GET /person_20250601

エイリアスが紐づいているインデックス確認

GET /_alias/person_index

📝 注意点

  • インデックス名には日時やバージョンを含めることでローテーション管理がしやすくなります。
  • エイリアスはアプリケーション側で常に同じ名前を使いたい場合に便利(例:current_index)。
  • エイリアスの切り替え操作は**原子的(atomic)**に実行されます。

Discussion