Gunakan PHP dan Manticore Search untuk membangunkan fungsi kedudukan carian masa nyata
Pengenalan:
Dalam era Internet moden, carian masa nyata telah menjadi salah satu fungsi penting pelbagai aplikasi dan tapak web. Fungsi kedudukan carian adalah bahagian penting dalam carian masa nyata Ia boleh menyusun mengikut kaitan kata kunci carian dan memberikan hasil carian yang lebih tepat dan menarik kepada pengguna. Artikel ini akan memperkenalkan cara menggunakan Carian PHP dan Manticore untuk membangunkan fungsi kedudukan carian masa nyata dan menyediakan contoh kod yang sepadan.
1. Pengenalan kepada Manticore Search:
Manticore Search ialah enjin carian teks penuh yang pantas dan berskala Ia merupakan cabang enjin carian Sphinx. Berbanding dengan pangkalan data hubungan tradisional, Manticore Search mempunyai fungsi pengindeksan dan carian teks penuh yang lebih berkuasa dan cekap, serta menyokong carian masa nyata dan carian teragih. Ia menggunakan model RPQ (Ranker+PQ) yang unik untuk memberikan kedudukan hasil carian yang lebih baik.
2. Persediaan:
Sebelum memulakan pembangunan, kami perlu memasang Manticore Search dan mengkonfigurasinya dengan sewajarnya. Untuk proses pemasangan dan konfigurasi khusus, sila rujuk dokumentasi Carian Manticore rasmi. Di samping itu, kita perlu memperkenalkan perpustakaan php-manticore ke dalam kod, yang boleh dipasang menggunakan komposer.
3. Data indeks:
Sebelum menggunakan Carian Manticore, kita perlu membuat indeks dan menambah data untuk dicari pada indeks. Berikut ialah contoh asas untuk mencipta indeks dan menambah data:
<?php require 'vendor/autoload.php'; use ManticoresearchClient; use ManticoresearchIndex; $client = new Client(["host" => "localhost", "port" => 9308]); $index = new Index($client); $index->create([ 'index' => 'articles', 'body' => [ 'fields' => [ 'title' => ['type' => 'text'], 'content' => ['type' => 'text'], ], ], ]); $data = [ [ 'index' => 'articles', 'body' => [ 'title' => 'PHP开发实战', 'content' => 'PHP是一种非常流行的编程语言。', ], ], // 添加更多的数据... ]; $index->add($data);
Kod di atas mula-mula mencipta tika Klien Manticore dan menentukan hos dan port untuk disambungkan. Kemudian indeks bernama "artikel" dicipta, dan jenis dua medan "tajuk" dan "kandungan" ditakrifkan sebagai "teks". Kemudian kami menambah data ke indeks melalui kaedah tambah.
4. Carian dan kedudukan masa nyata:
Dengan data indeks, kami boleh melakukan carian dan kedudukan masa nyata. Berikut ialah contoh mudah yang menunjukkan cara mencari mengikut kata kunci dan kedudukan mengikut kaitan:
<?php require 'vendor/autoload.php'; use ManticoresearchClient; use ManticoresearchQueryBooleanQuery; use ManticoresearchQueryMatch; $client = new Client(["host" => "localhost", "port" => 9308]); $query = new BooleanQuery(); $query->addShould(new Match('title', 'PHP开发')); $query->addShould(new Match('content', 'PHP开发')); $searchParams = [ 'index' => 'articles', 'body' => [ 'query' => $query, ], ]; $response = $client->search($searchParams); echo "搜索结果:" . print_r($response['hits'], true);
Kod di atas mula-mula mencipta objek BooleanQuery dan menggunakan objek pertanyaan Padanan untuk menambah dua syarat carian kata kunci. Kemudian hantar syarat pertanyaan dan nama indeks kepada kaedah carian untuk mencari. Akhir sekali, maklumat yang berkaitan tentang hasil carian dikeluarkan berdasarkan hasil carian.
Kesimpulan:
Artikel ini memperkenalkan cara membangunkan fungsi kedudukan carian masa nyata menggunakan PHP dan Carian Manticore. Dengan menggunakan Carian Manticore, kami boleh mencipta indeks dengan cekap, menambah data dan mencapai carian dan kedudukan berasaskan kata kunci masa nyata. Saya harap artikel ini dapat membantu pembaca memahami dengan lebih baik dan menggunakan fungsi kedudukan carian masa nyata, serta memberikan kemudahan dan inspirasi untuk pembangun.
Atas ialah kandungan terperinci Membangunkan fungsi kedudukan carian masa nyata menggunakan PHP dan Carian Manticore. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!