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 中欄位的資料型別。

核心資料型別

這些是基本資料型別,例如文字、關鍵字、日期、長整型、雙精度浮點數、布林值或 IP 地址,幾乎所有系統都支援這些型別。

複雜資料型別

這些資料型別是核心資料型別的組合。這些包括陣列、JSON 物件和巢狀資料型別。下面顯示了一個巢狀資料型別的示例:

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_ 對映。在 Elasticsearch 6.x 中建立的 6.x 索引將繼續像以前一樣工作。型別在 7.0 中的 API 中已棄用。

廣告
© . All rights reserved.