Apa itu Jenis Pemetaan??
Di Elasticsearch, setiap dokumen milik Indeks dan Tipe. Indeks dapat dianggap sebagai Basis Data sedangkan Tipe dapat dilihat sebagai Tabel jika dibandingkan dengan Basis Data Relasional. Tipe pemetaan adalah partisi logis dari suatu objek dengan objek lain yang dimiliki oleh Tipe Pemetaan lain dalam Indeks yang sama.
Setiap Jenis Pemetaan memiliki bidangnya sendiri. Misalnya, jenis pengguna dapat memiliki bidang berikut:
"id" : 123,
"nama" : "Shubham",
"situs web" : 1
Jenis Pemetaan Lain dalam indeks yang sama situs web dapat memiliki bidang berikut yang benar-benar berbeda dari pengguna Tipe:
"id" : 1,
"title" : "LinuxHint",
"tautan" : "https://linuxhint.com/"
Saat mencari dokumen dalam indeks, pencarian bisa saja dibatasi pada satu dokumen dengan menentukan satu bidang sebagai:
DAPATKAN idx_name/user,website/_search"permintaan":
"pertandingan":
"id": 1
Itu _Tipe bidang dokumen digabungkan dengan nya _Indo untuk menghasilkan _uid bidang jadi dokumen dengan yang sama _Indo bisa ada dalam satu indeks.
Baca Tutorial Elasticsearch untuk Pemula untuk pemahaman yang lebih dalam tentang Arsitektur Elasticsearch dan mulailah dengan Instal ElasticSearch di Ubuntu.
Mengapa Jenis Pemetaan dihapus?
Sama seperti apa yang kami katakan di atas saat menjelaskan bagaimana Indeks dan Tipe mirip dengan Basis Data dan Tabel dalam Basis Data Relasional, tim Elasticsearch berpikiran sama tetapi ini tidak terjadi karena Lucene Engine tidak mengikuti analogi yang sama. Ini karena alasan berikut:
- Dalam Database Relasional, tabel independen satu sama lain dan nama kolom, bahkan jika mereka sama tidak memiliki hubungan di antara mereka. Ini tidak terjadi pada bidang dalam tipe pemetaan seperti pada ES, bidang dengan nama yang sama diperlakukan sebagai bidang Lucene Engine yang sama secara internal.
- Pada contoh di atas, bidang _Indo di pengguna ketik dan situs web jenis disimpan di bidang yang sama dan harus memiliki jenis yang persis sama yang dapat menyebabkan frustrasi dan kebingungan.
- Menyimpan entitas tanpa bidang yang sama menghentikan Lucene untuk mengompres dokumen secara efektif.
Alternatif untuk Jenis Pemetaan
Meskipun keputusan telah dibuat, kami masih perlu memisahkan berbagai jenis data. Sekarang, alternatif pertama adalah dokumen terpisah dalam indeks mereka sendiri yang memiliki dua keunggulan:
- Sekarang data umum di setiap indeks, Lucene dapat dengan mudah menerapkan teknik kompresi datanya sendiri.
- Sekarang semua dokumen dalam indeks memiliki bidang yang sama, kemampuan pencarian teks lengkap meningkat secara fenomenal karena penilaian setiap dokumen meningkat.
Alternatif lain untuk memisahkan data adalah mempertahankan kebiasaan _Tipe field di setiap dokumen yang kita masukkan, seperti:
MASUKKAN db_name/doc/123"ketik": "pengguna",
"id": 123,
"nama": "Shubham",
"situs web": 1
PUT db_name/doc/website
"ketik": "situs web",
"id": 1,
"judul": "LinuxHint",
"tautan": "https://linuxhint.com/"
Ini adalah penggunaan yang sangat baik jika Anda mencari solusi khusus yang lengkap.
Jadwal untuk menghapus Jenis Pemetaan
Karena menghapus Jenis Pemetaan adalah perubahan besar, tim ES melakukan prosesnya dengan lambat. Berikut adalah jadwal untuk peluncuran yang diambil dari elastis.bersama:
- Elasticsearch 7.x
- Itu Tipe parameter dalam URL adalah opsional. Misalnya, pengindeksan dokumen tidak lagi memerlukan jenis dokumen.
- Itu _default_ jenis pemetaan dihapus.
- Elasticsearch 8.x
- Itu Tipe parameter tidak lagi didukung di URL.
- Itu include_type_name parameter default ke Salah.
- Elasticsearch 9.x
- Itu include_type_name parameter dihapus.
Kesimpulan
Dalam pelajaran ini, kami melihat mengapa jenis Pemetaan Elasticsearch dihapus dan tidak akan didukung sepenuhnya di versi mendatang.