Memahami Index dan Mapping dalam Elasticsearch

Pasti! Berikut ialah terjemahan penjelasan dan contoh untuk Index dan Mapping dalam Elasticsearch:

Index dalam Elasticsearch

In adalah serupa dengan pangkalan data dalam sistem pengurusan pangkalan data tradisional(DBMS) Index. Elasticsearch Ia menyimpan koleksi dokumen berkaitan. Setiap satu Index lazimnya sepadan dengan jenis data tertentu dalam aplikasi anda. Contohnya, dalam aplikasi e-dagang, anda boleh membuat Index untuk menyimpan maklumat tentang produk, satu lagi Index untuk menyimpan maklumat tentang pengguna dan pesanan.

Setiap Index dalam Elasticsearch dibahagikan kepada serpihan yang lebih kecil untuk pengedaran data. Shard ialah sebahagian kecil daripada Index, dan setiap Shard boleh disimpan pada nod berasingan dalam Elasticsearch kelompok. Membahagikan data kepada serpihan mengoptimumkan prestasi carian dan pertanyaan serta meningkatkan kebolehskalaan sistem.

Sebagai contoh, untuk mencipta Index nama baharu products  dalam Elasticsearch, anda boleh menggunakan API atau alatan pengurusan seperti Kibana untuk melaksanakan arahan berikut:

PUT /products  
{  
  "settings": {  
    "number_of_shards": 3,  
    "number_of_replicas": 2  
  }  
}  

Dalam contoh di atas, kami telah mencipta satu Index products dengan 3 shard dan 2 replica setiap satu shard untuk memastikan ketersediaan dan sandaran data.

 

Mapping dalam Elasticsearch

Mapping ialah proses menentukan cara Elasticsearch menyimpan dan memproses data dalam Index. Apabila anda menambah dokumen baharu pada Index, Elasticsearch gunakan Mapping untuk menentukan jenis data setiap medan dalam dokumen. Ini membantu Elasticsearch memahami cara memproses dan mencari data dalam medan yang berbeza.

Sebagai contoh, jika kita mempunyai Index products dan ingin menentukan Mapping untuk medan name(nama produk) dan price  (harga produk) sebagai jenis teks dan apungan, kita boleh melaksanakan arahan berikut:

PUT /products/_mapping  
{  
  "properties": {  
    "name": {  
      "type": "text"  
    },  
    "price": {  
      "type": "float"  
    }  
  }  
}  

Dalam contoh di atas, kami telah menentukan Mapping untuk products  Indeks, dengan name  medan mempunyai jenis data text dan medan harga mempunyai jenis data float. Ini memastikan bahawa apabila Elasticsearch menerima dokumen baharu untuk products  Indeks, ia akan menyimpan dan memproses name  medan dan "harga" mengikut jenis data yang ditentukan.

Index dan Mapping memainkan peranan penting dalam mengatur dan mengurus data dalam Elasticsearch. Mereka membantu Elasticsearch memahami dan memproses data dengan cekap, mengoptimumkan operasi carian dan pertanyaan, serta menyediakan keupayaan kebolehskalaan yang fleksibel untuk sistem.