Elasticsearch 映射 Mapping

映射是存储在索引中的文档的轮廓。 它定义了数据类型,如 geo_pointstring 以及文档和规则中存在的字段的格式,以控制动态添加字段的映射。

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 中不推荐使用类型。

查看笔记

扫码一下
查看教程更方便