鍍金池/ 教程/ Java/ Elasticsearch映射
Elasticsearch搜索API
Elasticsearch教程
Elasticsearch填充
Elasticsearch測(cè)試
Elasticsearch分析
Elasticsearch映射
Elasticsearch入門教程
Elasticsearch版本之間遷移
Elasticsearch集群API
Elasticsearch模塊
Elasticsearch環(huán)境安裝配置
Elasticsearch聚合
Elasticsearch查詢DSL
Elasticsearch索引API
Elasticsearch API約定
Elasticsearch文檔API

Elasticsearch映射

映射是存儲(chǔ)在索引中的文檔的大綱。它定義數(shù)據(jù)類型,如geo_point或文檔和規(guī)則中存在的字段的字符串和格式,以控制動(dòng)態(tài)添加的字段的映射。 例如,

POST http://localhost:9200/bankaccountdetails

請(qǐng)求正文

{
   "mappings":{
      "report":{
         "_all":{
            "enabled":true
         },

         "properties":{
            "name":{ "type":"string"}, "date":{ "type":"date"},
            "balance":{ "type":"double"}, "liability":{ "type":"double"}
         }
      }
   }
}

響應(yīng)

{"acknowledged":true}

字段數(shù)據(jù)類型
Elasticsearch支持文檔中字段的多種不同數(shù)據(jù)類型。以下數(shù)據(jù)類型用于在Elasticsearch中存儲(chǔ)字段 -

  • 核心數(shù)據(jù)類型 - 這些是幾乎所有系統(tǒng)支持的基本數(shù)據(jù)類型,如整數(shù),長整數(shù),雙精度,短整型,字節(jié),雙精度,浮點(diǎn)型,字符串,日期,布爾和二進(jìn)制。
  • 復(fù)雜數(shù)據(jù)類型 - 這些數(shù)據(jù)類型是核心數(shù)據(jù)類型的組合。類似數(shù)組,JSON對(duì)象和嵌套數(shù)據(jù)類型。以下是嵌套數(shù)據(jù)類型的示例 -
POST http://localhost:9200/tabletennis/team/1

請(qǐng)求正文

{
   "group" : "players",
   "user" : [
      {
         "first" : "dave", "last" : "jones"
      },

      {
         "first" : "kevin", "last" : "morris"
      }
   ]
}

響應(yīng)

{
   "_index":"tabletennis", "_type":"team", "_id":"1", "_version":1, 
   "_shards":{"total":2, "successful":1, "failed":0}, "created":true
}
  • 地理數(shù)據(jù)類型
    這些數(shù)據(jù)類型用于定義地理屬性。 例如,geo_point用于定義經(jīng)度和緯度,geo_shape用于定義不同的幾何形狀,如矩形。

  • 專用數(shù)據(jù)類型
    這些數(shù)據(jù)類型用于特殊目的,如IPv4(“ip”)接受IP地址,完成數(shù)據(jù)類型用于支持自動(dòng)完成建議,token_count用于計(jì)算字符串中的令牌數(shù)量。

映射類型

每個(gè)索引都具有一個(gè)或多個(gè)映射類型,用于將索引的文檔劃分為邏輯組。 映射可以基于以下參數(shù)有些不同 -

  • 元字段
    這些字段提供有關(guān)映射和與其關(guān)聯(lián)的其他對(duì)象的信息。 例如_index,_type,_id_source字段。

  • 字段
    不同的映射包含不同數(shù)量的字段和具有不同數(shù)據(jù)類型的字段。

動(dòng)態(tài)映射

Elasticsearch為自動(dòng)創(chuàng)建映射提供了一個(gè)用戶友好的機(jī)制。用戶可以將數(shù)據(jù)直接發(fā)布到任何未定義的映射,Elasticsearch將自動(dòng)創(chuàng)建映射,這稱為動(dòng)態(tài)映射。 例如,

POST http://localhost:9200/accountdetails/tansferreport

請(qǐng)求正文

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

響應(yīng)

{
   "_index":"accountdetails", "_type":"tansferreport",
   "_id":"AVI3FeH0icjGpNBI4ake", "_version":1,
   "_shards":{"total":2, "successful":1, "failed":0},
   "created":true
}

映射參數(shù)

映射參數(shù)定義映射的結(jié)構(gòu),關(guān)于字段和關(guān)于存儲(chǔ)的信息以及如何在搜索時(shí)分析映射的數(shù)據(jù)。 這些是以下映射參數(shù) -

  • analyzer
  • boost
  • coerce
  • copy_to
  • doc_values
  • dynamic
  • enabled
  • fielddata
  • geohash
  • geohash_precision
  • geohash_prefix
  • format
  • ignore_above
  • ignore_malformed
  • include_in_all
  • index_options
  • lat_lon
  • index
  • fields
  • norms
  • null_value
  • position_increment_gap
  • properties
  • search_analyzer
  • similarity
  • store
  • term_vector