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

Elasticsearch マッピング

マッピングは、インデックスに格納されたドキュメントの構造です。これは、geo_pointや文字列などのデータタイプ、ドキュメント内で表示されるフィールドのフォーマットとルールを定義し、動的にフィールドを追加するマッピングを制御します。

PUT bankaccountdetails
{
   "mappings":{
      "properties":{
         "name": { "type":"text"}, "date":{ "type":"date"},
         "balance":{ "type":"double"}, "liability":{ "type":"double"}
      }
   }
 }

当私上記のコードを実行すると、以下のように応答を得ます-

{
   "acknowledged": true,
   "shards_acknowledged": true,
   "index": "bankaccountdetails"
}

フィールドデータタイプ

Elasticsearchは、ドキュメントのフィールドに対してさまざまなデータタイプをサポートしています。ここでは、Elasticsearchでフィールドを格納するためのデータタイプについて詳しく説明します。

基本データタイプ

これらは基本的なデータタイプであり、テキスト、キーワード、日付、長整数、双精度、布尔値、IPなど、ほとんどのシステムでサポートされています。

複雑なデータタイプ

これらのデータタイプは、基本データタイプの組み合わせです。これには配列、JSONオブジェクト、ネストされたデータタイプが含まれます。ネストされたデータタイプの例は以下の通りです&minus

POST /tabletennis/_doc/1
{
   "group": "players",
   "user": [
      {
         "first": "dave", "last": "jones"
      }
      {
         "first": "kevin", "last": "morris"
      }
   ]
}

当私上記のコードを実行すると、以下のように応答を得ます-

{
   "_index": "tabletennis",
   "_type": "_doc",
   "_id": "1",
   _version" : 2,
   "result": "updated",
   "_shards": {
      "total": : 2,
      "successful": : 1,
      "failed" : 0
   }
   "_seq_no" : 1,
   "_primary_term" : 1
}

以下の例のコードがあります-

POST /accountdetails/_doc/1
{
   "from_acc":"7056443341", "to_acc":"7032460534",
   "date":"11/1/2016", "amount":10000
}

当私上記のコードを実行すると、以下のように応答を得ます-

{  "_index": "accountdetails",
   "_type": "_doc",
   "_id": "1",
   "_version": : 1,
   "result": "created",
   "_shards": {
      "total": : 2,
      "successful": : 1,
      "failed" : 0
   }
   "_seq_no" : 1,
   "_primary_term" : 1
}

以下のコマンドを使用して上記のドキュメントを確認できます-

GET /accountdetails/_mappings?include_type_name=false

マッピングタイプを削除する

Elasticsearch 7.0.0またはそれ以降のバージョンで作成されたインデックスでは_default_マッピングを受け入れません。6.xはElasticsearch 6.xでは以前と同じように機能します。以下の7.0のAPIでは廃止されたタイプが含まれています。