cari
Rumahpembangunan bahagian belakangtutorial phpBagaimana untuk melakukan carian teks penuh dan pengindeksan menggunakan PHP dan SQLite

Cara menggunakan PHP dan SQLite untuk carian teks penuh dan pengindeksan

Pengenalan:
Dengan pertumbuhan pesat maklumat Internet, carian teks penuh telah menjadi salah satu cara penting untuk memproses data besar-besaran. Apabila membangunkan tapak web atau aplikasi, kami selalunya perlu melaksanakan fungsi carian teks penuh supaya pengguna dapat mencari maklumat yang mereka perlukan dengan cepat. Artikel ini akan memperkenalkan secara terperinci cara menggunakan PHP dan SQLite untuk melaksanakan fungsi carian dan pengindeksan teks penuh.

1. Pasang dan konfigurasikan SQLite

Pertama, kami perlu memasang pangkalan data SQLite Anda boleh memuat turun versi yang sesuai untuk sistem anda dari tapak web rasminya (https://www.sqlite.org/) dan memasangnya. Selepas pemasangan selesai, sambungan PHP untuk SQLite perlu ditambahkan pada fail konfigurasi PHP (php.ini) supaya kita boleh menggunakan sambungan SQLite dalam PHP. Tambahkan kandungan berikut pada fail konfigurasi:

extension=sqlite3.so // untuk Linux
extension=php_sqlite3.dll // untuk Windows

Simpan fail konfigurasi dan mulakan semula pelayan web untuk memastikan konfigurasi berkuat kuasa.

2. Cipta pangkalan data dan jadual data SQLite

Sebelum melaksanakan carian dan pengindeksan teks penuh, kami perlu menyediakan pangkalan data SQLite terlebih dahulu dan mencipta jadual data untuk menyimpan data kami. Buka terminal atau command prompt, pergi ke direktori projek anda, dan laksanakan arahan berikut untuk mencipta pangkalan data dan jadual data:

sqlite3 mydatabase.db

CREATE TABLE articles (

id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
content TEXT

);

Simpan dan keluar dari SQLite terminal.

3. Masukkan data

Kami akan mensimulasikan beberapa data artikel dan memasukkannya ke dalam pangkalan data untuk carian dan pengindeksan teks penuh. Dalam kod PHP, kita boleh menggunakan kod berikut untuk memasukkan data:

$pdo = new PDO("sqlite:mydatabase.db");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$articles = [

['title' => '使用PHP进行全文搜索', 'content' => '在PHP中,我们有几种方法可以实现全文搜索功能。'],
['title' => 'PHP和SQLite全文搜索的厉害之处', 'content' => 'PHP和SQLite是一对绝佳的组合,它们可以轻松地实现全文搜索和索引功能。'],
// 更多文章...

];

foreach ($artikel sebagai $article) {

$sql = "INSERT INTO articles (title, content) VALUES (:title, :content)";
$stmt = $pdo->prepare($sql);
$stmt->execute($article);

}

?>

kod di atas akan

Pangkalan data SQLite dan gunakan pernyataan yang disediakan untuk memasukkan data ke dalam jadual data. Anda boleh memasukkan lebih banyak data artikel mengikut keperluan.

4. Gunakan carian teks penuh dan indeks

Dalam SQLite, kami boleh menggunakan carian dan indeks TEKS PENUH untuk melaksanakan carian teks penuh. Pertama, kita perlu mencipta indeks teks penuh untuk mempercepatkan carian. Kita boleh membuat indeks pada tajuk dan lajur kandungan artikel. Laksanakan pernyataan SQL berikut untuk mencipta indeks:

BUAT VIRTUAL TABLE articles_fts MENGGUNAKAN FTS5(tajuk, kandungan);

Seterusnya, kita perlu menyalin data dalam jadual data asal ke indeks teks penuh dan memastikan indeks konsisten dengan data asal segerak. Laksanakan pernyataan SQL berikut untuk mencapai ini:

MASUKKAN KE DALAM artikel_fts(articles_fts) NILAI('bina semula');

Ini akan memastikan indeks teks penuh selari dengan data asal. Seterusnya, kita boleh menggunakan kod berikut untuk melakukan carian teks penuh:

$pdo = new PDO("sqlite:mydatabase.db");
$pdo->setAttribute(PDO:: ATTR_ERRMODE, PDO ::ERRMODE_EXCEPTION);

$search = "PHP full text search";
$sql = "SELECT * FROM articles_fts WHERE content MATCH :search OR title MATCH :search";
$stmt = $pdo-> prepare($sql );
$stmt->bindParam(':search', $search, PDO::PARAM_STR);
$stmt->execute();

$results = $stmt->fetchAll( PDO::FETCH_ASSOC );

foreach ($results as $result) {

echo "标题:{$result['title']},内容:{$result['content']}

";
}

?>

Kod di atas akan mencari artikel yang mengandungi kata kunci "carian teks penuh PHP" dan memaparkan hasil dalam tajuk dan kandungan Keluaran Borang

Kesimpulan:
Artikel ini memperkenalkan cara menggunakan PHP dan SQLite untuk melaksanakan fungsi carian teks penuh dan pengindeksan dan membantu pengguna mencari maklumat yang mereka perlukan dengan cepat Dengan cara ini, kami boleh melaksanakan fungsi carian dan pengindeksan teks penuh dengan mudah dalam aplikasi web menggunakan SQLite sebagai pangkalan data. Saya harap artikel ini akan membantu anda.

Atas ialah kandungan terperinci Bagaimana untuk melakukan carian teks penuh dan pengindeksan menggunakan PHP dan SQLite. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Apr 17, 2025 am 12:25 AM

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Apr 17, 2025 am 12:24 AM

Dalam PHP, gunakan kata kunci klon untuk membuat salinan objek dan menyesuaikan tingkah laku pengklonan melalui kaedah Magic \ _ _ _. 1. Gunakan kata kunci klon untuk membuat salinan cetek, mengkloning sifat objek tetapi bukan sifat objek. 2. Kaedah klon \ _ \ _ boleh menyalin objek bersarang untuk mengelakkan masalah menyalin cetek. 3. Beri perhatian untuk mengelakkan rujukan pekeliling dan masalah prestasi dalam pengklonan, dan mengoptimumkan operasi pengklonan untuk meningkatkan kecekapan.

PHP vs Python: Gunakan Kes dan AplikasiPHP vs Python: Gunakan Kes dan AplikasiApr 17, 2025 am 12:23 AM

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.

Huraikan tajuk caching HTTP yang berbeza (mis., Cache-Control, ETAG, Modified Last).Huraikan tajuk caching HTTP yang berbeza (mis., Cache-Control, ETAG, Modified Last).Apr 17, 2025 am 12:22 AM

Pemain utama dalam tajuk cache HTTP termasuk kawalan cache, ETAG, dan modifikasi terakhir. 1.Cache-Control digunakan untuk mengawal dasar caching. Contoh: Cache-Control: Max-Age = 3600, Awam. 2. ETAG mengesahkan perubahan sumber melalui pengenal unik, Contoh: ETAG: "686897696A7C876B7E". 3. Modified Last Menunjukkan Masa Pengubahsuaian Terakhir Sumber, Contoh: Modified Last: Wed, 21OCT201507: 28: 00GMT.

Terangkan hashing kata laluan yang selamat di PHP (mis., Password_hash, password_verify). Mengapa tidak menggunakan MD5 atau SHA1?Terangkan hashing kata laluan yang selamat di PHP (mis., Password_hash, password_verify). Mengapa tidak menggunakan MD5 atau SHA1?Apr 17, 2025 am 12:06 AM

Dalam php, kata laluan_hash dan kata laluan 1) password_hash menjana hash yang mengandungi nilai garam untuk meningkatkan keselamatan. 2) Kata Laluan_verify Sahkan kata laluan dan pastikan keselamatan dengan membandingkan nilai hash. 3) MD5 dan SHA1 terdedah dan kekurangan nilai garam, dan tidak sesuai untuk keselamatan kata laluan moden.

PHP: Pengenalan kepada bahasa skrip sisi pelayanPHP: Pengenalan kepada bahasa skrip sisi pelayanApr 16, 2025 am 12:18 AM

PHP adalah bahasa skrip sisi pelayan yang digunakan untuk pembangunan web dinamik dan aplikasi sisi pelayan. 1.Php adalah bahasa yang ditafsirkan yang tidak memerlukan kompilasi dan sesuai untuk perkembangan pesat. 2. Kod PHP tertanam dalam HTML, menjadikannya mudah untuk membangunkan laman web. 3. PHP memproses logik sisi pelayan, menghasilkan output HTML, dan menyokong interaksi pengguna dan pemprosesan data. 4. PHP boleh berinteraksi dengan pangkalan data, penyerahan borang proses, dan melaksanakan tugas-tugas sampingan pelayan.

PHP dan Web: Meneroka kesan jangka panjangnyaPHP dan Web: Meneroka kesan jangka panjangnyaApr 16, 2025 am 12:17 AM

PHP telah membentuk rangkaian sejak beberapa dekad yang lalu dan akan terus memainkan peranan penting dalam pembangunan web. 1) PHP berasal pada tahun 1994 dan telah menjadi pilihan pertama bagi pemaju kerana kemudahan penggunaannya dan integrasi lancar dengan MySQL. 2) Fungsi terasnya termasuk menghasilkan kandungan dinamik dan mengintegrasikan dengan pangkalan data, yang membolehkan laman web dikemas kini secara real time dan dipaparkan secara peribadi. 3) Aplikasi dan ekosistem PHP yang luas telah mendorong kesan jangka panjangnya, tetapi ia juga menghadapi kemas kini versi dan cabaran keselamatan. 4) Penambahbaikan prestasi dalam beberapa tahun kebelakangan ini, seperti pembebasan Php7, membolehkannya bersaing dengan bahasa moden. 5) Pada masa akan datang, PHP perlu menangani cabaran baru seperti kontena dan microservices, tetapi fleksibiliti dan komuniti aktif menjadikannya boleh disesuaikan.

Mengapa menggunakan PHP? Kelebihan dan faedah dijelaskanMengapa menggunakan PHP? Kelebihan dan faedah dijelaskanApr 16, 2025 am 12:16 AM

Manfaat utama PHP termasuk kemudahan pembelajaran, sokongan pembangunan web yang kukuh, perpustakaan dan kerangka yang kaya, prestasi tinggi dan skalabilitas, keserasian silang platform, dan keberkesanan kos. 1) mudah dipelajari dan digunakan, sesuai untuk pemula; 2) integrasi yang baik dengan pelayan web dan menyokong pelbagai pangkalan data; 3) mempunyai rangka kerja yang kuat seperti Laravel; 4) Prestasi tinggi dapat dicapai melalui pengoptimuman; 5) menyokong pelbagai sistem operasi; 6) Sumber terbuka untuk mengurangkan kos pembangunan.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual