Rumah >pembangunan bahagian belakang >tutorial php >Cara menggunakan MongoDB untuk melaksanakan pengambilan teks penuh dalam PHP
Cara PHP menggunakan MongoDB untuk melaksanakan pengambilan teks penuh
Ikhtisar:
Pendapatan teks penuh merujuk kepada teknologi carian berdasarkan kata kunci atau frasa dalam data teks. Dalam pangkalan data hubungan tradisional, carian teks penuh biasanya bergantung pada pernyataan pertanyaan SQL yang kompleks, tetapi menggunakan MongoDB boleh merealisasikan fungsi carian teks penuh dengan lebih mudah dan cekap. Artikel ini akan memperkenalkan cara menggunakan PHP dan MongoDB untuk merealisasikan fungsi carian teks penuh, dan menyediakan contoh kod.
Pasang sambungan MongoDB:
Sebelum anda bermula, anda perlu memasang sambungan PHP MongoDB terlebih dahulu. Pemasangan boleh diselesaikan melalui langkah berikut:
Tambah sambungan MongoDB dalam persekitaran PHP:
Pasang fail perpustakaan MongoDB:
Sambung ke pangkalan data MongoDB:
<?php $mongo = new MongoDBClient("mongodb://localhost:27017"); ?>
<?php $collection = $mongo->mydb->mycollection; $index = [ 'title' => 'text', 'content' => 'text' ]; $options = [ 'weights' => ['title' => 3, 'content' => 1] ]; $result = $collection->createIndex($index, $options); ?>Kod di atas mencipta indeks teks penuh, termasuk medan "tajuk" dan "kandungan", dengan pemberat ditetapkan kepada 3 dan 1. Lebih tinggi berat, lebih tinggi kepentingan medan dalam mendapatkan teks penuh.
Lakukan carian teks penuh:
<?php $collection = $mongo->mydb->mycollection; $keyword = "PHP"; $filter = ['$text' => ['$search' => $keyword]]; $options = ['sort' => ['score' => ['$meta' => 'textScore']], 'limit' => 10]; $result = $collection->find($filter, $options); foreach ($result as $document) { echo $document->title . "<br>"; } ?>Kod di atas menggunakan pengindeksan teks penuh untuk mendapatkan semula dokumen dengan kata kunci "PHP". Hasil carian diisih mengikut tahap yang sepadan, dan 10 keputusan teratas dikembalikan.
Ringkasan:
Atas ialah kandungan terperinci Cara menggunakan MongoDB untuk melaksanakan pengambilan teks penuh dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!