インデックス API のシミュレーション

指定されたインデックスに適用されるインデックス構成を、既存の インデックステンプレート から返します。

Python

  1. resp = client.indices.simulate_index_template(
  2. name="my-index-000001",
  3. )
  4. print(resp)

Js

  1. const response = await client.indices.simulateIndexTemplate({
  2. name: "my-index-000001",
  3. });
  4. console.log(response);

コンソール

  1. POST /_index_template/_simulate_index/my-index-000001

リクエスト

POST /_index_template/_simulate_index/<index>

前提条件

  • Elasticsearch のセキュリティ機能が有効になっている場合、この API を使用するには manage_index_templates または manage クラスター権限 が必要です。

パスパラメータ

  • <index>
  • (必須、文字列) シミュレーションするインデックスの名前。

クエリパラメータ

  • master_timeout
  • (オプション、時間単位) マスターノードを待機する期間。タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーが返されます。デフォルトは 30s です。リクエストがタイムアウトしないことを示すために -1 に設定することもできます。
  • include_defaults
  • (オプション、Boolean) [プレビュー] の機能。この機能は技術プレビュー中であり、将来のリリースで変更または削除される可能性があります。Elastic は問題を修正するために取り組みますが、技術プレビューの機能は公式 GA 機能のサポート SLA の対象ではありません。 . true の場合、レスポンスにすべてのデフォルト設定を返します。デフォルトは false です。

レスポンスボディ

  • overlapping
  • (配列) インデックスに一致したが、優先度の高いテンプレートによって上書きされたテンプレート。重複するテンプレートがない場合、レスポンスには空の配列が含まれます。
    overlapping のプロパティ
    • name
    • (文字列) 上書きされたテンプレートの名前。
    • index_patterns
    • (配列) 上書きされたテンプレートが適用されるインデックスパターン。
  • template
  • (オブジェクト) インデックスに適用される設定、マッピング、およびエイリアス。
    template のプロパティ
    • aliases
    • (オブジェクト) インデックスのエイリアス。エイリアスが適用されない場合、レスポンスは空の aliases オブジェクトを返します。
      • <alias>
      • (オブジェクト) キーはエイリアス名です。オブジェクトの本体にはエイリアスのオプションが含まれます。
        <alias> のプロパティ
      • filter
      • (Query DSL オブジェクト) エイリアスがアクセスできるドキュメントを制限するために使用されるクエリ。
      • index_routing
      • (文字列) インデックス操作を特定のシャードにルーティングするために使用される値。これはインデックス操作の routing 値を上書きします。
      • is_hidden
      • (Boolean) true の場合、エイリアスは 非表示 です。
      • is_write_index
      • (Boolean) true の場合、インデックスはエイリアスの 書き込みインデックス です。
      • routing
      • (文字列) インデックスおよび検索操作を特定のシャードにルーティングするために使用される値。
      • search_routing
      • (文字列) 検索操作を特定のシャードにルーティングするために使用される値。これは検索操作の routing 値を上書きします。
    • mappings
    • (オプション、マッピングオブジェクト) インデックス内のフィールドのマッピング。指定された場合、このマッピングには次のものが含まれる可能性があります:
    • settings
    • (オプション、インデックス設定オブジェクト) インデックスの構成オプション。 インデックス設定 を参照してください。
      レスポンスには、設定が適用されない場合、空のオブジェクトが含まれます。

以下の例は、既存のテンプレートによって my-index-000001 に適用される構成を示しています。

Python

  1. resp = client.cluster.put_component_template(
  2. name="ct1",
  3. template={
  4. "settings": {
  5. "index.number_of_shards": 2
  6. }
  7. },
  8. )
  9. print(resp)
  10. resp1 = client.cluster.put_component_template(
  11. name="ct2",
  12. template={
  13. "settings": {
  14. "index.number_of_replicas": 0
  15. },
  16. "mappings": {
  17. "properties": {
  18. "@timestamp": {
  19. "type": "date"
  20. }
  21. }
  22. }
  23. },
  24. )
  25. print(resp1)
  26. resp2 = client.indices.put_index_template(
  27. name="final-template",
  28. index_patterns=[
  29. "my-index-*"
  30. ],
  31. composed_of=[
  32. "ct1",
  33. "ct2"
  34. ],
  35. priority=5,
  36. )
  37. print(resp2)
  38. resp3 = client.indices.simulate_index_template(
  39. name="my-index-000001",
  40. )
  41. print(resp3)

Ruby

  1. response = client.cluster.put_component_template(
  2. name: 'ct1',
  3. body: {
  4. template: {
  5. settings: {
  6. 'index.number_of_shards' => 2
  7. }
  8. }
  9. }
  10. )
  11. puts response
  12. response = client.cluster.put_component_template(
  13. name: 'ct2',
  14. body: {
  15. template: {
  16. settings: {
  17. 'index.number_of_replicas' => 0
  18. },
  19. mappings: {
  20. properties: {
  21. "@timestamp": {
  22. type: 'date'
  23. }
  24. }
  25. }
  26. }
  27. }
  28. )
  29. puts response
  30. response = client.indices.put_index_template(
  31. name: 'final-template',
  32. body: {
  33. index_patterns: [
  34. 'my-index-*'
  35. ],
  36. composed_of: [
  37. 'ct1',
  38. 'ct2'
  39. ],
  40. priority: 5
  41. }
  42. )
  43. puts response

Js

  1. const response = await client.cluster.putComponentTemplate({
  2. name: "ct1",
  3. template: {
  4. settings: {
  5. "index.number_of_shards": 2,
  6. },
  7. },
  8. });
  9. console.log(response);
  10. const response1 = await client.cluster.putComponentTemplate({
  11. name: "ct2",
  12. template: {
  13. settings: {
  14. "index.number_of_replicas": 0,
  15. },
  16. mappings: {
  17. properties: {
  18. "@timestamp": {
  19. type: "date",
  20. },
  21. },
  22. },
  23. },
  24. });
  25. console.log(response1);
  26. const response2 = await client.indices.putIndexTemplate({
  27. name: "final-template",
  28. index_patterns: ["my-index-*"],
  29. composed_of: ["ct1", "ct2"],
  30. priority: 5,
  31. });
  32. console.log(response2);
  33. const response3 = await client.indices.simulateIndexTemplate({
  34. name: "my-index-000001",
  35. });
  36. console.log(response3);

コンソール

  1. PUT /_component_template/ct1
  2. {
  3. "template": {
  4. "settings": {
  5. "index.number_of_shards": 2
  6. }
  7. }
  8. }
  9. PUT /_component_template/ct2
  10. {
  11. "template": {
  12. "settings": {
  13. "index.number_of_replicas": 0
  14. },
  15. "mappings": {
  16. "properties": {
  17. "@timestamp": {
  18. "type": "date"
  19. }
  20. }
  21. }
  22. }
  23. }
  24. PUT /_index_template/final-template
  25. {
  26. "index_patterns": ["my-index-*"],
  27. "composed_of": ["ct1", "ct2"],
  28. "priority": 5
  29. }
  30. POST /_index_template/_simulate_index/my-index-000001
シャード数を 2 に設定するコンポーネントテンプレート (ct1) を作成
レプリカ数を 0 に設定し、マッピングを定義する 2 番目のコンポーネントテンプレート (ct2) を作成
コンポーネントテンプレートを使用するインデックステンプレート (final-template) を作成
my-index-000001 に適用される構成を表示

レスポンスは final-template によって適用されたインデックス設定、マッピング、およびエイリアスを示します:

コンソール-結果

  1. {
  2. "template" : {
  3. "settings" : {
  4. "index" : {
  5. "number_of_shards" : "2",
  6. "number_of_replicas" : "0",
  7. "routing" : {
  8. "allocation" : {
  9. "include" : {
  10. "_tier_preference" : "data_content"
  11. }
  12. }
  13. }
  14. }
  15. },
  16. "mappings" : {
  17. "properties" : {
  18. "@timestamp" : {
  19. "type" : "date"
  20. }
  21. }
  22. },
  23. "aliases" : { }
  24. },
  25. "overlapping" : [
  26. {
  27. "name" : "template_1",
  28. "index_patterns" : [
  29. "my-index-*"
  30. ]
  31. }
  32. ]
  33. }