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
   }
} ………………………………………………

流す

インデックスのフラッシュプロセスにより、現在トランザクションログにのみ保持されているデータがLuceneにも永続的に保持されるようになります。これにより、Luceneインデックスが開かれた後、トランザクションログからデータのインデックスを再作成する必要がないため、リカバリ時間が短縮されます。

POST colleges/_flush

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

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