English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Elasticsearch インデックス API

これらのAPIはインデックスの全ての管理を担当します。例えば、設定、エイリアス、マッピング、インデックステンプレートなどです。

インデックスの作成

このAPIはインデックスの作成をサポートします。ユーザーがJSONオブジェクトをインデックスに渡すと、自動的にインデックスが作成されますが、その前にインデックスを作成することもできます。インデックスを作成するには、設定、マッピング、エイリアスを含むPUTリクエストを送信するか、正文を含まないシンプルなリクエストのみを送信します。

PUT colleges

上記のコードを実行すると、以下のような出力が得られます-

{
   "acknowledged": true
   "shards_acknowledged": true
   "index": "colleges"
}

上記のコマンドに設定を追加することもできます-

PUT colleges
{
  "settings": {
      "index": {
         "number_of_shards": 3,
         "number_of_replicas": 2
      }
   }
}

上記のコードを実行すると、以下のような出力が得られます-

{
   "acknowledged": true
   "shards_acknowledged": true
   "index": "colleges"
}

インデックス削除

このAPIは、特定のインデックスを削除するのに役立ちます。削除リクエストに特定のインデックス名を渡すだけで十分です。

DELETE /colleges

すべてのインデックスや特定のインデックスを削除するには、_allを使用するか、*すべてのインデックスを削除します。

インデックス取得

このAPIは、getリクエストを1つまたは複数のインデックスに送信することで呼び出すことができます。これにより、インデックスに関する情報が返されます。

GET colleges

上記のコードを実行すると、以下のような出力が得られます-

{
   "colleges": {
      "aliases": {
         "alias_1": { },
         "alias_2": {
            "filter": {
               "term": {
                  "user": "pkay"
               }
            },
            "index_routing": "pkay",
            "search_routing": "pkay"
         }
      },
      "mappings": {},
      "settings": {
         "index": {
            "creation_date": "1556245406616",
            "number_of_shards": "1",
            "number_of_replicas": "1",
            "uuid": "3ExJbdl2R1qDLssIkwDAug",
            "version": {
               "created": "7000099"
            },
            "provided_name": "colleges"
         }
      }
   }
}

すべてのインデックスや特定のインデックスの情報を取得するには、_allを使用するか、*すべてのインデックスの情報を取得します。

インデックス存在

インデックスの存在は、その索引にgetリクエストを送信することで確認できます。HTTP応答が200、存在する場合。それが404、存在しない場合。

HEAD colleges

上記のコードを実行すると、以下のような出力が得られます-

200-OK

インデックス設定

インデックスの設定を取得するには、URLの末尾に_settingsキーワードを付けるだけで十分です。

GET /colleges/_settings

上記のコードを実行すると、以下のような出力が得られます-

{
   "colleges": {
      "settings": {
         "index": {
            "creation_date": "1556245406616",
            "number_of_shards": "1",
            "number_of_replicas": "1",
            "uuid": "3ExJbdl2R1qDLssIkwDAug",
            "version": {
               "created": "7000099"
            },
            "provided_name": "colleges"
         }
      }
   }
}

インデックス統計

このAPIは特定のインデックスに関する統計情報を取得するのに役立ちます。インデックスURLと_statsキーワードを末尾にgetリクエストを送信するだけで十分です。

GET /_stats

上記のコードを実行すると、以下のような出力が得られます-

………………………………………………
},
   "request_cache": {
      "memory_size_in_bytes": : 849,
      "evictions": 0,
      "hit_count": : 1171,
      "miss_count": : 4
   },
   "recovery": {
      "current_as_source": 0,
      "current_as_target": 0,
      "throttle_time_in_millis" : 0
   }
} ………………………………………………

フラッシュ(Flush)

インデックスのフラッシュプロセスは、現在のトランザクションログに記録されているすべてのデータが Lucene に永続的に保存されることを確実にします。これにより、Lucene インデックスをオープンした後に、トランザクションログから再インデックスする必要がなく、リカバリータイムが短縮されます。

POST colleges/_flush

上記のコードを実行すると、以下のような出力が得られます-

{
   "_shards" : {
      "total" : 2,
      "successful" : 1,
      "failed" : 0
   } 
}