Tingkatkan pengalaman pengguna: Bagaimana PHP dan Algolia membina enjin carian yang cemerlang
Pengenalan:
Dengan perkembangan pesat Internet, enjin carian telah menjadi salah satu cara utama untuk orang ramai mendapatkan maklumat. Untuk tapak web dengan banyak kandungan, enjin carian yang berkuasa dan cekap adalah sangat penting. Artikel ini akan memperkenalkan cara menggunakan PHP dan Algolia untuk membina enjin carian yang sangat baik dan meningkatkan pengalaman pengguna, dan menggunakan contoh untuk menunjukkan kaedah pelaksanaan khususnya.
1. Pengenalan kepada Algolia
Algolia ialah syarikat yang menyediakan penyelesaian awan yang komprehensif untuk carian dan fungsi yang berkaitan. Ia bagus untuk membina enjin carian yang pantas, boleh disesuaikan dan mudah digunakan. Algolia bukan sahaja menyediakan fungsi asas seperti sokongan berbilang bahasa, carian kabur, penapisan dan pengisihan, tetapi juga menyokong fungsi lanjutan seperti carian segera dan kemas kini masa nyata, menjadikan hasil carian tepat dan cekap.
2. Sediakan enjin carian menggunakan Algolia
composer require algolia/algoliasearch-client-php
require 'vendor/autoload.php'; use AlgoliaAlgoliaSearchSearchClient; $client = SearchClient::create('YOUR_APP_ID', 'YOUR_API_KEY');
Ganti "YOUR_APP_ID" dan "YOUR_API_KEY" dengan Algolia_KEY anda ID apl dan kunci API apl.
Sebagai contoh, andaikan terdapat jadual buku yang mengandungi medan seperti tajuk, pengarang dan perihalan buku. Kod berikut boleh digunakan untuk mendapatkan data daripada jadual buku dan menukarnya kepada format yang disokong oleh Algolia:
$sql = "SELECT * FROM books"; $result = $conn->query($sql); $records = []; while($row = $result->fetch_assoc()){ $record = [ 'objectID' => $row['id'], 'title' => $row['title'], 'author' => $row['author'], 'description' => $row['description'] ]; $records[] = $record; }
addObjects
perpustakaan klien Algolia PHP untuk menambah data pada indeks :addObjects
方法将数据添加到索引中:$index = $client->initIndex('books'); $index->addObjects($records);
其中,'books'为索引的名称。你可以使用自定义的名称。
$data = [ 'objectID' => '1', 'title' => 'Example Title', 'author' => 'Example Author', 'description' => 'Example Description' ]; $index->saveObjects([$data]);
这样,搜索引擎会立即更新为最新的数据。
三、使用PHP构建搜索页面
<form action="search.php" method="POST"> <input type="text" name="keyword" placeholder="请输入关键字"> <input type="submit" value="搜索"> </form>
$keyword = $_POST['keyword'];
search
$index = $client->initIndex('books'); $results = $index->search($keyword);
foreach($results['hits'] as $result){ echo '<h2>'.$result['title'].'</h2>'; echo '<p>'.$result['author'].'</p>'; echo '<p>'.$result['description'].'</p>'; echo '<hr>'; }
3. Gunakan PHP untuk membina halaman carian
Buat borang halaman carian
Atas ialah kandungan terperinci Tingkatkan pengalaman pengguna: Cara PHP dan Algolia mencipta enjin carian yang hebat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!