Elasticsearch-index-apis

提供:Dev Guides
移動先:案内検索

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は、1つまたは複数のインデックスにgetリクエストを送信するだけで呼び出すことができます。 これは、インデックスに関する情報を返します。

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