對映是儲存在索引中的文件的大綱。它定義資料型別,如geo_point
或文件和規則中存在的欄位的字串和格式,以控制動態新增的欄位的對映。 例如,
POST http://localhost:9200/bankaccountdetails
請求正文
{
"mappings":{
"report":{
"_all":{
"enabled":true
},
"properties":{
"name":{ "type":"string"}, "date":{ "type":"date"},
"balance":{ "type":"double"}, "liability":{ "type":"double"}
}
}
}
}
響應
{"acknowledged":true}
欄位資料型別
Elasticsearch支援文件中欄位的多種不同資料型別。以下資料型別用於在Elasticsearch中儲存欄位 -
POST http://localhost:9200/tabletennis/team/1
請求正文
{
"group" : "players",
"user" : [
{
"first" : "dave", "last" : "jones"
},
{
"first" : "kevin", "last" : "morris"
}
]
}
響應
{
"_index":"tabletennis", "_type":"team", "_id":"1", "_version":1,
"_shards":{"total":2, "successful":1, "failed":0}, "created":true
}
地理資料型別
這些資料型別用於定義地理屬性。 例如,geo_point
用於定義經度和緯度,geo_shape
用於定義不同的幾何形狀,如矩形。
專用資料型別
這些資料型別用於特殊目的,如IPv4(「ip」)接受IP地址,完成資料型別用於支援自動完成建議,token_count
用於計算字串中的令牌數量。
每個索引都具有一個或多個對映型別,用於將索引的文件劃分為邏輯組。 對映可以基於以下引數有些不同 -
元欄位
這些欄位提供有關對映和與其關聯的其他物件的資訊。 例如_index
,_type
,_id
和_source
欄位。
欄位
不同的對映包含不同數量的欄位和具有不同資料型別的欄位。
Elasticsearch為自動建立對映提供了一個使用者友好的機制。使用者可以將資料直接發佈到任何未定義的對映,Elasticsearch將自動建立對映,這稱為動態對映。 例如,
POST http://localhost:9200/accountdetails/tansferreport
請求正文
{
"from_acc":"7056443341", "to_acc":"7032460534",
"date":"11/1/2016", "amount":10000
}
響應
{
"_index":"accountdetails", "_type":"tansferreport",
"_id":"AVI3FeH0icjGpNBI4ake", "_version":1,
"_shards":{"total":2, "successful":1, "failed":0},
"created":true
}
對映引數定義對映的結構,關於欄位和關於儲存的資訊以及如何在搜尋時分析對映的資料。 這些是以下對映引數 -