Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembangunan Carian PHP dan Manticore: Petua Utama untuk Menyesuaikan Halaman Hasil Carian

Pembangunan Carian PHP dan Manticore: Petua Utama untuk Menyesuaikan Halaman Hasil Carian

WBOY
WBOYasal
2023-08-05 13:07:421167semak imbas

PHP dan Pembangunan Carian Manticore: Petua Utama untuk Menyesuaikan Halaman Hasil Carian

Pengenalan:
Manticore Search ialah enjin carian teks penuh berprestasi tinggi, berkuasa dan PHP ialah bahasa skrip yang digunakan secara meluas. Menggabungkan kedua-dua alat ini, kami boleh membina halaman hasil carian yang cekap dengan mudah. Artikel ini akan memperkenalkan beberapa petua utama untuk membantu anda menyesuaikan halaman hasil carian anda.

1. Pasang Manticore Search
Mula-mula, anda perlu memasang Manticore Search. Anda boleh memuat turun pakej pemasangan dari tapak web rasmi (https://www.manticoresearch.com/) dan ikut arahan untuk memasangnya. Selepas pemasangan selesai, anda boleh menggunakan arahan berikut untuk memulakan perkhidmatan Carian Manticore:

sudo systemctl start manticore

2. Pengindeksan
Sebelum anda mula, anda perlu mengindeks data untuk carian yang berkesan. Carian Manticore menyokong berbilang sumber data, seperti fail MySQL, PostgreSQL dan CSV. Di sini kami mengambil MySQL sebagai contoh.

Mula-mula, anda perlu mencipta fail konfigurasi, seperti manticore.conf, di mana anda menentukan butiran penyambungan ke pangkalan data MySQL: manticore.conf,在其中指定连接到MySQL数据库的详细信息:

source manticore {
    type                    = mysql
    sql_host                = localhost
    sql_user                = your_username
    sql_pass                = your_password
    sql_db                  = your_database_name
}

然后,您可以使用以下命令来建立索引:

index your_index_name
{
    type                = plain
    source              = manticore
    path                = /var/lib/manticore/your_index_name
    min_infix_len       = 2
    docinfo             = extern
    mlock               = 0
    morphology          = stem_en
}

请确保修改上述代码中的your_usernameyour_passwordyour_database_nameyour_index_name为您自己的值。

接下来,您可以使用以下命令来创建索引:

indexer --config /path/to/manticore.conf --all

三、PHP搜索页面
一旦您的索引建立完成,就可以编写PHP代码来实现搜索页面了。以下是一个示例:

<?php
require_once('Manticore.php');

$index = 'your_index_name';
$host = 'localhost';
$port = 9306;

$query = isset($_GET['q']) ? $_GET['q'] : '';
$page = isset($_GET['page']) ? $_GET['page'] : 1;

$manticore = new Manticore($host, $port);

$results = $manticore->search($index, $query, $page, 10);

$hits = $results['total'];
$pages = ceil($hits / 10);

foreach ($results['matches'] as $match) {
    // 处理搜索结果
    echo $match['id'].": ".$match['weight']."<br>";
}

// 翻页功能
$startPage = max($page - 5, 1);
$endPage = min($page + 5, $pages);

echo "<div class='pagination'>";
if ($page > 1) {
    echo "<a href='?q=$query&page=".($page-1)."'>上一页</a>";
}
for ($i = $startPage; $i <= $endPage; $i++) {
    echo "<a href='?q=$query&page=$i'>$i</a>";
}
if ($page < $pages) {
    echo "<a href='?q=$query&page=".($page+1)."'>下一页</a>";
}
echo "</div>";

以上代码中,your_index_name需要替换为您自己的索引名称。代码中的$query获取用户输入的搜索关键字,$page获取当前页面的页数。Manticore.php是一个简单的PHP类,用于与Manticore Search进行交互。

四、定制搜索结果页面
在搜索结果页面中,您可以根据需要定制搜索结果的显示方式。例如,您可以使用HTML和CSS样式来美化搜索结果的外观,或者添加其他功能来提升用户体验。

以下是一个简单的示例,展示如何使用HTML和CSS来样式化搜索结果页面:

<!DOCTYPE html>
<html>
<head>
    <title>搜索结果</title>
    <style>
        .result {
            margin-bottom: 10px;
            padding: 10px;
            border: 1px solid #ccc;
        }
        .result h3 {
            margin-top: 0;
        }
        .pagination {
            margin-top: 10px;
            text-align: center;
        }
    </style>
</head>
<body>
    <h1>搜索结果</h1>

    <?php foreach ($results['matches'] as $match): ?>
        <div class="result">
            <h3><?php echo $match['id']; ?></h3>
            <p><?php echo $match['weight']; ?></p>
        </div>
    <?php endforeach; ?>

    <div class="pagination">
        <?php if ($page > 1): ?>
            <a href="?q=<?php echo $query; ?>&page=<?php echo ($page-1); ?>">上一页</a>
        <?php endif; ?>
        <?php for ($i = $startPage; $i <= $endPage; $i++): ?>
            <a href="?q=<?php echo $query; ?>&page=<?php echo $i; ?>"><?php echo $i; ?></a>
        <?php endfor; ?>
        <?php if ($page < $pages): ?>
            <a href="?q=<?php echo $query; ?>&page=<?php echo ($page+1); ?>">下一页</a>
        <?php endif; ?>
    </div>
</body>
</html>

在以上代码中,我们定义了.result样式来设置搜索结果的外观,定义了.paginationrrreee

Anda kemudian boleh menggunakan arahan berikut untuk membina indeks:

rrreee
Sila pastikan anda mengubah suai nama_pengguna_anda, kata laluan_anda, nama_database_anda dan nama_indeks_anda dalam kod di atas untuk nilai anda sendiri.

🎜Seterusnya, anda boleh menggunakan arahan berikut untuk mencipta indeks: 🎜rrreee🎜 3. Halaman Carian PHP 🎜 Setelah indeks anda lengkap, anda boleh menulis kod PHP untuk melaksanakan halaman carian. Berikut ialah contoh: 🎜rrreee🎜Dalam kod di atas, nama_indeks_anda perlu diganti dengan nama indeks anda sendiri. $query dalam kod mendapat kata kunci carian yang dimasukkan oleh pengguna dan $page mendapat nombor halaman halaman semasa. Manticore.php ialah kelas PHP mudah yang digunakan untuk berinteraksi dengan Carian Manticore. 🎜🎜4. Sesuaikan halaman hasil carian🎜Dalam halaman hasil carian, anda boleh menyesuaikan paparan hasil carian mengikut keperluan anda. Sebagai contoh, anda boleh menggunakan gaya HTML dan CSS untuk meningkatkan penampilan hasil carian atau menambah ciri lain untuk meningkatkan pengalaman pengguna. 🎜🎜Berikut ialah contoh mudah yang menunjukkan cara menggunakan HTML dan CSS untuk menggayakan halaman hasil carian: 🎜rrreee🎜Dalam kod di atas, kami menentukan gaya .result untuk menetapkan penampilan hasil carian , Gaya .penomboran ditakrifkan untuk menetapkan penampilan penomboran. 🎜🎜Kesimpulan: 🎜Dengan Carian PHP dan Manticore, anda boleh membina halaman hasil carian yang cekap dengan mudah. Artikel ini memperkenalkan teknik utama untuk memasang Carian Manticore, membina indeks, menulis halaman carian PHP dan menyesuaikan halaman hasil carian serta melampirkan contoh kod yang sepadan untuk membantu anda mula membina halaman hasil carian anda sendiri dengan cepat. Semoga berjaya dengan perkembangan anda! 🎜

Atas ialah kandungan terperinci Pembangunan Carian PHP dan Manticore: Petua Utama untuk Menyesuaikan Halaman Hasil Carian. 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