Ketika kita melihat materi menggunakan frase atau kata kunci, contoh terbaik adalah pencarian Google. Dengan pencarian teks lengkap MongoDB, kita dapat membuat indeks teks pada kolom mana pun dalam dokumen menggunakan string atau array string Show
Sintaks pencarian teks lengkap di MongoDB di Ubuntu 20. 04 ?Sintaks yang disebutkan adalah sebagai berikut db. Nama_Koleksi. temukan ({$teks . {$search . “string” }}) Fungsi find() digunakan dengan parameter berikut dalam sintaks di atas
Bekerja pada operator $text di MongoDB di Ubuntu 20. 04Daftar teks disediakan oleh MongoDB untuk membantu pencarian teks pada konten string. Bidang apa pun dengan nilai string atau rentang komponen string dapat disertakan dalam rekaman teks. Anda harus memiliki catatan teks dalam koleksi Anda untuk melakukan pertanyaan pencarian teks. Bahkan sebuah koleksi hanya memiliki satu record pencarian topik. Daftar dapat menjangkau beberapa bidang Bagaimana kinerja pencarian teks lengkap di MongoDB di Ubuntu 20. 04Sekarang, lihat contoh-contoh tertentu untuk lebih memahami berbagai hal. Pertama kita buat database dengan nama “myDemo”. Di dalam database ini, kami telah mendefinisikan koleksi sebagai "buah". Kemudian, kueri insertMany digunakan untuk menyisipkan dokumen koleksi karena tangkapan layar menampilkan bidang dan nilai terhadap bidang ini untuk dokumen koleksi "buah" di bawah Kueri “db. buah-buahan. find()” menghasilkan atribut dan entitas dari koleksi “fruits” sebagai berikut. Kami memiliki tiga dokumen yang direkam untuk pengumpulan "buah" Sekarang, mari kita periksa bagaimana kita dapat melakukan pencarian teks lengkap Contoh 1. Membuat indeks teks di MongoDB di Ubuntu 20. 04Kami harus membuat indeks teks pada kumpulan data sebelum Anda dapat menggunakan fitur pencarian teks lengkap MongoDB. Indeks adalah struktur data unik yang mengisolasi sepotong data terbatas dari setiap teks dalam kumpulan dari dokumen itu sendiri. Mari kita lihat cara melakukan pencarian teks lengkap Indeks teks dibuat dengan cara yang sama seperti indeks konvensional, alih-alih menentukan urutan naik/turun, indeks ini menentukan kata kunci teks Di atas, kami memiliki permintaan untuk pencarian teks lengkap. Kami telah menggunakan metode createIndex() untuk membuat indeks teks. Kami menetapkan dua bidang "subjek" dan "konten" ke teks tipe indeks Dengan menjalankan kueri createIndex pada shell MongoDB, keluaran berikut mengonfirmasi pembuatan indeks Contoh #2. Mencari kata atau frasa dari teks lengkap di MongoDB di Ubuntu 20. 04Mencari dokumen yang terdiri dari satu atau beberapa kata mungkin merupakan tantangan pencarian yang paling umum. Pengguna mungkin berharap browser web dapat beradaptasi untuk memilih di mana frase pencarian tertentu harus ditampilkan. Saat menggunakan indeks teks, MongoDB mendekati kueri penelusuran umum dengan cara yang sama. Dengan beberapa contoh, langkah ini menjelaskan bagaimana MongoDB memproses permintaan pencarian Di sini, kami memiliki kueri “db. buah-buahan. Temukan()". Kueri menggunakan operator $text, yang memberi tahu MongoDB di sini bahwa kueri akan menggunakan indeks teks yang telah kita tentukan sebelumnya. Juga, hanya satu indeks teks yang diperbolehkan di setiap koleksi. Kemudian, di dalam operator $teks kita memiliki operator lain yang disebut $search yang digunakan untuk mencari nilai "manis" dari dokumen yang diberikan Seperti yang Anda lihat, kami hanya memiliki satu dokumen dengan konten teks "manis". Dengan menjalankan kueri di atas, seluruh detail dokumen yang memiliki konten teks "manis" ditampilkan sebagai berikut Sekarang, kami mencari dua kata dengan menggunakan kueri berikut Kami telah memberikan dua kata "vitamin C" ke operator $search yang disebut di dalam operator $text. Saat kueri dijalankan, ini menunjukkan catatan dokumen yang memiliki vitamin C tercantum dalam teks sebagai berikut Contoh #3. Mencetak dan menyortir hasil pencarian teks lengkap di MongoDB di Ubuntu 20. 04Setiap dokumen menerima skor dari pencarian teks yang menunjukkan seberapa relevannya dengan permintaan pencarian. Skor ini digunakan untuk mengkategorikan semua catatan dalam hasil pencarian. Skor yang lebih tinggi berarti kontes lebih bermakna Kami memiliki operator $text yang mencari dua kata "Mangga" dan "Orange" dengan bantuan operator $search. Kemudian, kami memiliki proyeksi {score. $meta. “textScore”} yang menggunakan operator $meta, yang mengembalikan metadata tertentu dari dokumen yang diambil. Metadata textScore, yang merupakan komponen bawaan dari mesin pencari teks lengkap MongoDB dan menyimpan skor relevansi pencarian, dikembalikan dalam kasus ini Seperti disebutkan dalam dokumen filter, dokumen yang dihasilkan akan menambahkan kolom baru bernama skor setelah menjalankan kueri Sekarang, kami telah menggunakan fungsi sortir untuk proyeksi {score. $meta. “textScore”}. Dokumen pengurutan menggunakan sintaks yang sama dengan dokumen proyeksi Mango teks memiliki skor relevansi terbesar, sehingga menjadi yang pertama di layar keluaran KesimpulanKami telah memperoleh cara menggunakan fungsionalitas pencarian teks lengkap MongoDB dengan mengikuti tutorial ini. Anda membuat indeks teks dan menyusun kueri penelusuran teks yang menyertakan satu dan banyak kata, seluruh frasa, dan pengecualian. Anda juga telah menilai relevansi makalah yang dikembalikan dan memerintahkan hasil pencarian untuk menampilkan item yang paling relevan terlebih dahulu Bagaimana cara mencari string di semua bidang di MongoDB?untuk melakukan pencarian teks di semua bidang, pertama-tama Anda harus membuat indeks teks di semua bidang. seperti yang ditunjukkan oleh dokumentasi mongodb, "Untuk mengizinkan pencarian teks pada semua bidang dengan konten string, gunakan penentu karakter pengganti ($**) untuk mengindeks semua bidang yang berisi konten string."
Bagaimana cara mencari item di MongoDB?Dalam MongoDB, metode find() digunakan untuk memilih dokumen dalam koleksi dan mengembalikan kursor ke dokumen yang dipilih. Cursor berarti pointer yang menunjuk ke dokumen, ketika kita menggunakan metode find() mengembalikan pointer pada dokumen yang dipilih dan mengembalikan satu per satu.
Bagaimana cara menyimpan teks panjang di MongoDB?Tulis string ke koleksi MongoDB GridFS . $bucket = (MongoDB\Client baru)->test->selectGridFSBucket(); . Kolom _id dari dokumen metadata yang terkait dengan file GridFS yang baru dibuat.
Apa perbedaan antara teks dan indeks pencarian di MongoDB?Saat Anda membuat indeks reguler pada bidang string, ia mengindeks seluruh nilai dalam string. Sebagian besar berguna untuk string kata tunggal (seperti nama pengguna untuk login) di mana Anda dapat mencocokkannya dengan tepat. Indeks teks di sisi lain akan memberi token dan membendung konten bidang . |