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