Elasticsearch - Pemetaan
Pemetaan adalah garis besar dokumen yang disimpan dalam indeks. Ini mendefinisikan tipe data seperti geo_point atau string dan format bidang yang ada dalam dokumen dan aturan untuk mengontrol pemetaan bidang yang ditambahkan secara dinamis.
PUT bankaccountdetails
{
"mappings":{
"properties":{
"name": { "type":"text"}, "date":{ "type":"date"},
"balance":{ "type":"double"}, "liability":{ "type":"double"}
}
}
}
Ketika kami menjalankan kode di atas, kami mendapatkan respons seperti yang ditunjukkan di bawah ini -
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "bankaccountdetails"
}
Jenis Data Bidang
Elasticsearch mendukung sejumlah tipe data berbeda untuk bidang-bidang dalam dokumen. Tipe data yang digunakan untuk menyimpan bidang di Elasticsearch dibahas secara mendetail di sini.
Jenis Data Inti
Ini adalah tipe data dasar seperti teks, kata kunci, tanggal, panjang, ganda, boolean atau ip, yang didukung oleh hampir semua sistem.
Tipe Data Kompleks
Tipe data ini adalah kombinasi dari tipe data inti. Ini termasuk array, objek JSON, dan tipe data bertingkat. Contoh tipe data bersarang ditampilkan di bawah & minus
POST /tabletennis/_doc/1
{
"group" : "players",
"user" : [
{
"first" : "dave", "last" : "jones"
},
{
"first" : "kevin", "last" : "morris"
}
]
}
Ketika kami menjalankan kode di atas, kami mendapatkan respons seperti yang ditunjukkan di bawah ini -
{
"_index" : "tabletennis",
"_type" : "_doc",
"_id" : "1",
_version" : 2,
"result" : "updated",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 1,
"_primary_term" : 1
}
Kode contoh lain ditunjukkan di bawah ini -
POST /accountdetails/_doc/1
{
"from_acc":"7056443341", "to_acc":"7032460534",
"date":"11/1/2016", "amount":10000
}
Ketika kami menjalankan kode di atas, kami mendapatkan respons seperti yang ditunjukkan di bawah ini -
{ "_index" : "accountdetails",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 1,
"_primary_term" : 1
}
Kami dapat memeriksa dokumen di atas dengan menggunakan perintah berikut -
GET /accountdetails/_mappings?include_type_name=false
Penghapusan Jenis Pemetaan
Indeks yang dibuat di Elasticsearch 7.0.0 atau yang lebih baru tidak lagi menerima pemetaan _default_. Indeks yang dibuat di 6.x akan terus berfungsi seperti sebelumnya di Elasticsearch 6.x. Jenis tidak digunakan lagi di API di 7.0.