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 已弃用类型。