


Membangunkan fungsi autolengkap carian menggunakan PHP dan Carian Manticore
Membangunkan fungsi auto-lengkap carian menggunakan PHP dan Manticore Search
Pengenalan:
Dalam era Internet hari ini, fungsi carian telah menjadi bahagian penting dalam banyak aplikasi dan tapak web. Fungsi autolengkap carian ialah elemen utama untuk meningkatkan pengalaman pengguna dan ketepatan carian. Artikel ini akan memperkenalkan cara menggunakan PHP dan Carian Manticore untuk membangunkan fungsi autolengkap carian untuk membantu pengguna mencari perkara yang mereka perlukan dengan lebih cepat.
1. Apakah itu Manticore Search?
Manticore Search ialah perisian carian teks penuh berdasarkan enjin carian sumber terbuka Sphinx. Berbanding dengan enjin carian tradisional, Manticore Search menyediakan pengindeksan dan kelajuan carian yang lebih pantas, toleransi kesalahan dan kebolehskalaan yang lebih baik. Ia menyokong carian teks penuh, carian faceted, carian lokasi geografi dan fungsi lain, dan sesuai untuk pelbagai senario aplikasi.
2. Buat indeks Carian Manticore
Pertama, kita perlu mencipta indeks Carian Manticore untuk menyimpan kandungan yang hendak dicari. Indeks bernama "autolengkap" boleh dibuat melalui arahan berikut:
index autocomplete { type = rt rt_mem_limit = 512M path = /var/lib/manticore/autocomplete charset_table = utf-8 min_prefix_len = 2 min_word_len = 2 }
Dalam indeks ini, rt_mem_limit menentukan had memori, laluan menentukan laluan penyimpanan fail indeks, charset_table menentukan set aksara, min_prefix_len dan min_word_len menentukan Awalan minimum panjang dan panjang perkataan minimum.
3. Tambah dokumen ke indeks
Seterusnya, kita perlu menambah dokumen yang hendak dicari ke indeks. Ini boleh dicapai melalui contoh kod PHP berikut:
<?php $client = new SphinxClient(); $client->setServer('localhost', 9312); $client->setMatchMode(SPH_MATCH_ANY); $client->setFieldWeights(array('title' => 10, 'content' => 1)); $documents = array( array( 'id' => 1, 'title' => 'PHP开发', 'content' => 'PHP是一种广泛使用的开源脚本语言,它特别适用于Web开发。', ), array( 'id' => 2, 'title' => 'Manticore Search', 'content' => 'Manticore Search是一个基于Sphinx的全文搜索软件,提供了更快的索引和搜索速度。', ), // 添加更多文档... ); foreach ($documents as $document) { $client->addDocument($document['title'], $document['content'], $document['id']); } $result = $client->runQueries(); ?>
Dalam kod di atas, kami menggunakan kelas SphinxClient, iaitu kelas alat untuk PHP berinteraksi dengan Manticore Search. Kami menetapkan alamat pelayan dan nombor port, menetapkan mod padanan kepada mana-mana padanan, menetapkan berat tajuk kepada 10 dan berat kandungan kepada 1. Kemudian, dokumen yang hendak dicari ditambah pada indeks satu demi satu melalui gelung.
4. Laksanakan fungsi auto-lengkap carian
Untuk melaksanakan fungsi auto-lengkap carian, kami boleh menggunakan ciri indeks masa nyata Carian Manticore. Pengindeksan langsung boleh dikemas kini dan dicari dengan cepat, membolehkan maklum balas carian masa nyata.
Pelengkapan automatik carian boleh dicapai melalui contoh kod PHP berikut:
<?php $keyword = $_GET['keyword']; $client->setMatchMode(SPH_MATCH_EXTENDED2); $client->limit(0, 5); // 给出最多5个自动补全结果 $client->resetFilters(); $client->setFilter('prefix', '', array($keyword)); $result = $client->runQueries(); $suggestions = $result[0]['words']; foreach ($suggestions as $suggestion) { echo $suggestion['word']; } ?>
Dalam kod ini, kami memperoleh kata kunci carian yang dimasukkan oleh pengguna melalui permintaan GET. Kemudian, tetapkan mod padanan kepada padanan lanjutan melalui kaedah setMatchMode dan tetapkan maksimum 5 hasil autolengkap untuk dikembalikan melalui kaedah had. Kemudian, gunakan kaedah setFilter untuk mengehadkan istilah carian kepada hasil yang diawali dengan kata kunci. Akhir sekali, pertanyaan carian dilaksanakan melalui kaedah runQueries dan keputusan cadangan kata kunci diperolehi. Kemudian, gunakan gelung foreach untuk mengeluarkan cadangan kata kunci satu demi satu.
Ringkasan:
Menggunakan Carian PHP dan Manticore, anda boleh melaksanakan fungsi autolengkap carian dengan mudah. Dengan mencipta indeks Carian Manticore dan menambah dokumen, dan kemudian menggunakan indeks masa nyata dan pernyataan pertanyaan carian khusus, anda boleh melaksanakan fungsi autolengkap carian dengan cepat. Ini akan meningkatkan pengalaman pengguna dan membantu pengguna mencari perkara yang mereka perlukan dengan lebih cepat. Semoga artikel ini dapat membantu anda!
Atas ialah kandungan terperinci Membangunkan fungsi autolengkap carian menggunakan PHP dan Carian Manticore. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
