PHP dan Pembangunan Carian Manticore: Membina Enjin Carian Peribadi

王林
Lepaskan: 2023-08-06 09:10:01
asal
1320 orang telah melayarinya

PHP dan Pembangunan Carian Manticore: Membina Enjin Carian Peribadi

Pengenalan:
Dalam era Internet hari ini, enjin carian adalah salah satu cara utama untuk orang ramai mendapatkan maklumat. Enjin carian gergasi Internet seperti Google dan Baidu telah menjadi alat yang sangat diperlukan dalam kehidupan seharian manusia. Walau bagaimanapun, untuk beberapa senario aplikasi tertentu, menggunakan enjin carian awam bukanlah pilihan yang ideal. Artikel ini memperkenalkan kaedah dan amalan membina enjin carian peribadi menggunakan PHP dan Carian Manticore.

1. Fahami Manticore Search
Manticore Search ialah enjin carian teks penuh sumber terbuka yang mengguna pakai seni bina enjin Carian Sphinx untuk menyediakan fungsi carian teks penuh yang cekap dan berskala. Carian Manticore menyokong replikasi tuan-hamba, pengindeksan teragih, pengindeksan masa nyata, pertanyaan berbilang indeks, perolehan teks penuh dan ciri-ciri lain, dan sesuai untuk memproses data besar-besaran dan senario carian konkurensi tinggi.

2. Pasang Manticore Search
Pertama, kita perlu memasang Manticore Search. Anda boleh memasangnya dalam persekitaran Linux melalui langkah berikut:

  1. Muat turun pakej pemasangan Carian Manticore
  2. Nyahzip pakej pemasangan dan masukkan direktori yang dinyahmampat
  3. Jalankan skrip pemasangan untuk memasang
  4. Konfigurasikan parameter Manticore yang berkaitan Carian, seperti memantau Port, direktori indeks, dsb.
  5. Mulakan Manticore Search

3 Gunakan sambungan PHP untuk mengendalikan Manticore Search
Manticore Search menyediakan sambungan PHP untuk memudahkan penggunaan PHP kami untuk berinteraksi dengan enjin carian. Kami boleh membuat indeks, memasukkan data dan melaksanakan pertanyaan melalui sambungan PHP. Berikut ialah kod contoh mudah:

<?php
// 连接到Manticore Search服务
$dsn = 'mysql:host=127.0.0.1;port=9306';
$db = new PDO($dsn);

// 创建索引
$sql = 'CREATE TABLE products (id INTEGER PRIMARY KEY, name TEXT, price FLOAT)';
$db->exec($sql);

// 插入数据
$sql = 'INSERT INTO products (id, name, price) VALUES (1, "Apple", 5.99)';
$db->exec($sql);

$sql = 'INSERT INTO products (id, name, price) VALUES (2, "Banana", 3.99)';
$db->exec($sql);

$sql = 'INSERT INTO products (id, name, price) VALUES (3, "Orange", 4.99)';
$db->exec($sql);

// 执行查询
$sql = 'SELECT * FROM products WHERE MATCH("Apple")';
$result = $db->query($sql);

while ($row = $result->fetch()) {
    echo $row['id'] . ' ' . $row['name'] . ' ' . $row['price'] . PHP_EOL;
}

// 关闭连接
$db = null;
?>
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menyambung ke perkhidmatan Carian Manticore dan mencipta jadual indeks bernama "produk". Kami kemudian memasukkan tiga keping data produk dan melakukan pertanyaan mudah untuk produk dengan "Apple" dalam nama mereka. Akhir sekali, kami mengeluarkan hasil pertanyaan melalui gelung.

4. Bina enjin carian peribadi
Menggunakan Manticore Search dan PHP, kami boleh membina enjin carian teks penuh peribadi untuk memenuhi keperluan aplikasi tertentu. Berikut ialah contoh mudah yang menggunakan PHP sebagai skrip pemprosesan latar belakang untuk menerima kata kunci yang dimasukkan pengguna melalui borang dan melakukan operasi carian:

<?php
// 连接到Manticore Search服务
$dsn = 'mysql:host=127.0.0.1;port=9306';
$db = new PDO($dsn);

// 处理用户提交的搜索词
if (isset($_POST['keyword'])) {
    $keyword = $_POST['keyword'];
    $keyword = trim($keyword);
    
    // 执行查询
    $sql = "SELECT * FROM products WHERE MATCH(:keyword)";
    $stmt = $db->prepare($sql);
    $stmt->execute(['keyword' => $keyword]);
    $result = $stmt->fetchAll();
    
    // 输出查询结果
    foreach ($result as $row) {
        echo $row['id'] . ' ' . $row['name'] . ' ' . $row['price'] . PHP_EOL;
    }
}
?>

<form action="" method="post">
    <input type="text" name="keyword" placeholder="请输入关键词">
    <input type="submit" value="搜索">
</form>
Salin selepas log masuk

Dalam kod di atas, kami menerima kata kunci yang dimasukkan pengguna melalui borang dan melaksanakan operasi yang sepadan dalam operasi carian latar belakang. Hasil carian akan dikeluarkan ke halaman.

5. Ringkasan
Artikel ini memperkenalkan kaedah dan amalan membina enjin carian peribadi menggunakan PHP dan Manticore Search. Melalui sambungan PHP yang disediakan oleh Manticore Search, kami boleh membuat indeks dengan mudah, memasukkan data dan melaksanakan pertanyaan. Pada masa yang sama, digabungkan dengan fungsi pemprosesan borang PHP, kami boleh membina halaman carian mudah dan melaksanakan fungsi carian teks penuh peribadi. Saya harap artikel ini dapat memberi anda sedikit bantuan dalam membina enjin carian peribadi.

Atas ialah kandungan terperinci PHP dan Pembangunan Carian Manticore: Membina Enjin Carian Peribadi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!