Elasticsearch-mapping
提供:Dev Guides
Elasticsearch-マッピング
マッピングは、インデックスに保存されているドキュメントの概要です。 動的に追加されるフィールドのマッピングを制御するために、geo_pointやstringなどのデータ型と、ドキュメントおよびルールに存在するフィールドの形式を定義します。
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でフィールドを保存するために使用されるデータ型については、ここで詳しく説明します。
コアデータタイプ
これらは、テキスト、キーワード、日付、long、double、boolean、または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で非推奨になりました。