Mengindeks Dokumen ke dalam Elasticsearch
Fahami cara mengindeks satu atau beberapa dokumen ke dalam indeks Elasticsearch, termasuk penjanaan ID automatik dan ID tersuai.
Mengindeks Dokumen ke dalam Elasticsearch ialah pelajaran Elasticsearch dan Sistem Carian Teks Penuh percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Elasticsearch dan Sistem Carian Teks Penuh, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Elasticsearch dan Sistem Carian Teks Penuh merangkumi sejumlah 4 pelajaran.
Apakah Pengindeksan?
Selamat datang ke pengindeksan! Dalam Elasticsearch, pengindeksan ialah proses menyimpan data ke dalam indeks supaya data itu boleh dicari.
Anggaplah ia seperti menambahkan buku baharu ke dalam katalog perpustakaan. Anda memberikan butiran buku tersebut dan perpustakaan menyimpannya dengan cara yang memudahkan buku itu ditemui kemudian.
Penyegaran Dokumen & Indeks
Sebelum kita bermula, mari imbas kembali dua konsep teras:
- Dokumen: Unit asas maklumat dalam Elasticsearch, serupa dengan baris dalam pangkalan data tradisional. Biasanya dokumen ialah objek JSON.
- Indeks: Himpunan dokumen yang mempunyai ciri serupa. Ia seperti pangkalan data dalam dunia hubungan.
Apabila anda mengindeks, anda menambahkan dokumen ke dalam indeks.
API Indeks
Anda berinteraksi dengan Elasticsearch menggunakan API RESTnya. Untuk mengindeks dokumen, biasanya anda menggunakan permintaan HTTP POST atau PUT.
POST /<index>/_doc: Digunakan untuk mengindeks dokumen, biasanya dengan membenarkan Elasticsearch menjana ID.PUT /<index>/_doc/<id>: Digunakan untuk mengindeks dokumen dengan ID khusus yang diberikan oleh pengguna.
Mari lihat cara penggunaannya!
ID Dijana Secara Automatik
Cara paling mudah untuk mengindeks ialah membenarkan Elasticsearch menjana ID unik untuk dokumen anda. Anda menggunakan kaedah POST pada titik akhir _doc tanpa menetapkan ID.
Berikut ialah contoh penggunaan curl untuk mengindeks dokumen ke dalam indeks bernama products:
curl -X POST "localhost:9200/products/_doc?pretty" \
-H 'Content-Type: application/json' \
-d'{"name": "Laptop", "price": 1200}'Memahami ID Automatik
Selepas permintaan POST sebelumnya, Elasticsearch akan mengembalikan respons yang mengandungi _id unik untuk dokumen anda, seperti "_id": "AbCdEfGhIjKlMnOpQrSt".
Bilakah anda patut menggunakan ID yang dijana secara automatik?
- Apabila data anda tidak mempunyai pengecam unik semula jadi.
- Untuk log atau data sementara yang tidak memerlukan ID unik sebagai rujukan luaran.
- Apabila anda mahu memastikan dokumen baharu sentiasa dicipta.
Pengindeksan dengan ID Tersuai
Selalunya, data anda sudah mempunyai pengecam unik daripada sistem lain (contohnya, kunci utama pangkalan data). Dalam keadaan ini, anda boleh memberikan ID sendiri menggunakan kaedah PUT.
ID tersebut ditetapkan terus dalam laluan URL: /<index>/_doc/<your_id>.
curl -X PUT "localhost:9200/products/_doc/prod_101?pretty" \
-H 'Content-Type: application/json' \
-d'{"name": "Smartphone", "price": 800}'Mengapa Menggunakan ID Tersuai?
Penggunaan ID tersuai menawarkan beberapa kelebihan:
- Integrasi: Petakan dokumen Elasticsearch kepada rekod dalam pangkalan data luaran dengan mudah.
- Kebolehramalan: Anda mengetahui ID dokumen terlebih dahulu.
- Kemas kini: Kemas kini dokumen tertentu menjadi mudah kerana anda sentiasa merujuk dokumen tersebut menggunakan ID yang diketahui.
Idempotensi dengan PUT
Konsep penting apabila menggunakan PUT dengan ID tersuai ialah idempotensi. Ini bermaksud pelaksanaan operasi yang sama beberapa kali akan menghasilkan keputusan yang sama seperti melaksanakannya sekali.
- Jika dokumen dengan ID yang ditetapkan sudah wujud,
PUTakan mengemas kininya. - Jika dokumen itu belum wujud,
PUTakan menciptanya.
Ini berbeza daripada POST, yang sentiasa mencipta dokumen *baharu* dengan ID baharu.
Mengindeks Banyak Dokumen
Walaupun mengindeks dokumen satu demi satu sesuai untuk jumlah yang kecil, kaedah ini boleh menjadi tidak cekap bagi set data besar kerana beban rangkaian.
Elasticsearch menyediakan API _bulk yang berkuasa untuk melaksanakan berbilang operasi pengindeksan, kemas kini atau pemadaman dalam satu permintaan. Ini meningkatkan prestasi pengindeksan dengan ketara.
Kita akan meneroka API _bulk dengan lebih terperinci dalam pelajaran akan datang!
Semakan Kaedah Pengindeksan
Bayangkan anda mempunyai set bacaan penderia yang baharu. Setiap bacaan adalah unik dan anda tidak mempunyai ID yang ditetapkan terlebih dahulu, tetapi anda mahu menyimpannya dalam Elasticsearch supaya boleh dicari.
Imbas Kembali: Asas Pengindeksan
Syabas! Dalam pelajaran ini, anda telah mempelajari asas pengindeksan dokumen ke dalam Elasticsearch:
- Maksud pengindeksan dan peranannya dalam menjadikan data boleh dicari.
- Perbezaan antara dokumen dan indeks.
- Cara menggunakan
POST /<index>/_docuntuk mengindeks dokumen dengan ID yang dijana secara automatik. - Cara menggunakan
PUT /<index>/_doc/<id>untuk mengindeks dokumen dengan ID tersuai. - Konsep idempotensi apabila menggunakan
PUT. - Pengenalan ringkas kepada kecekapan pengindeksan secara pukal.
Seterusnya, kita akan meneroka lebih banyak operasi pada dokumen ini!
Pelajari Elasticsearch dan Sistem Carian Teks Penuh dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Mengindeks Dokumen ke dalam Elasticsearch” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Elasticsearch dan Sistem Carian Teks Penuh, termasuk “Mengindeks Dokumen ke dalam Elasticsearch”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Elasticsearch dan Sistem Carian Teks Penuh merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Mengindeks Dokumen ke dalam Elasticsearch”?
Fahami cara mengindeks satu atau beberapa dokumen ke dalam indeks Elasticsearch, termasuk penjanaan ID automatik dan ID tersuai. Anda berlatih Elasticsearch dan Sistem Carian Teks Penuh menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Elasticsearch dan Sistem Carian Teks Penuh?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Elasticsearch dan Sistem Carian Teks Penuh di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Mengindeks Dokumen ke dalam Elasticsearch” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Elasticsearch dan Sistem Carian Teks Penuh ini?
Ya. Setiap pelajaran Elasticsearch dan Sistem Carian Teks Penuh menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Mengindeks Dokumen ke dalam Elasticsearch
- Operasi CRUD dengan Dokumen
- Pemetaan Asas dan Jenis Data
- Pengindeksan Pukal dan API Pukal