インデックス テンプレートとは、作成時にインデックスを構成する方法を Elasticsearch エンジンに伝えるレイアウトまたはスキーマのような構造を指します。テンプレートは、インデックスの作成前に作成されます。インデックス テンプレートは再利用可能なブロックであり、エクスポートして別のクラスターで使用し、同様のインデックスを持つインデックスをレプリケートできます。テンプレートには、マッピング、インデックス設定、エイリアスなどが含まれます。
このチュートリアルでは、インデックス テンプレートを取得し、そのすべての情報を表示する方法を示します。
Elasticsearch Create Index テンプレート
次のリクエストの例は、説明のために単純なインデックス テンプレートを作成する方法を示しています。
既存のインデックス テンプレートがある場合は、次のセクションにスキップして、特定のインデックス テンプレートに格納されている情報を取得する方法について説明します。
PUT _index_template / テンプレート_1
{
'index_patterns' : [ 「キバナ*」 ] 、
'テンプレート' : {
'設定' : {
'number_of_shards' : 1
} 、
「マッピング」 : {
'_ソース' : {
「有効」 : 真実
} 、
'プロパティ' : {
「ホスト名」 : {
'タイプ' : 'キーワード'
} 、
'created_at' : {
'タイプ' : '日にち' 、
'フォーマット' : 「EEE MMM dd HH:mm:ss Z yyyy」
}
}
} 、
「エイリアス」 : {
「マイデータ」 : { }
}
} 、
'優先順位' : 500 、
'バージョン' : 3 、
'_meta' : {
'説明' : 「私の習慣」
}
}
上記のリクエストは、指定されたプロパティを持つ単純なインデックス テンプレートを作成する必要があります。インデックス テンプレートの作成に慣れていない場合は、トピックに関するチュートリアルを参照して詳細を確認してください。
Elasticsearch Get Index テンプレート
インデックス テンプレート API を使用して、既存のインデックス テンプレートの詳細を取得できます。たとえば、リクエストの構文は次のとおりです。
得る / _index_template /< 索引テンプレート >
たとえば、上記で作成した template_1 に関する情報を取得するには、次のようにクエリを実行できます。
カール -XGET 「http://localhost:9200/_index_template/template_1」 -H 「kbn-xsrf: レポート」
戻り値:
'index_templates' : [
{
'名前' : 「テンプレート_1」 、
'index_template' : {
'index_patterns' : [
「キバナ*」
] 、
'テンプレート' : {
'設定' : {
'索引' : {
'number_of_shards' : 「1」
}
} 、
「マッピング」 : {
'_ソース' : {
「有効」 : 真実
} 、
'プロパティ' : {
'created_at' : {
'フォーマット' : 「EEE MMM dd HH:mm:ss Z yyyy」 、
'タイプ' : '日にち'
} 、
「ホスト名」 : {
'タイプ' : 'キーワード'
}
}
} 、
「エイリアス」 : {
「マイデータ」 : { }
}
} 、
'構成されている' : [ ] 、
'優先順位' : 500 、
'バージョン' : 3 、
'_meta' : {
'説明' : 「私の習慣」
}
}
}
]
}
特定のパターンに一致するインデックス テンプレートに関する情報を取得することもできます。たとえば、.kibana インデックス テンプレートに関するすべての情報を取得するには、次のようにリクエストを実行できます。
結果の出力:
利用可能なすべてのインデックス テンプレートに関する情報を取得するには、次のようにリクエストを送信します。
上記は、利用可能なすべてのインデックス テンプレートに関する情報を返す必要があります。
結論
この記事では、Elasticsearch get index テンプレートを使用して、既存のインデックス テンプレートに関する情報を作成およびフェッチする方法を学習しました。