Maison >développement back-end >tutoriel php >Développement de recherche PHP et Manticore : conseils clés pour personnaliser les pages de résultats de recherche

Développement de recherche PHP et Manticore : conseils clés pour personnaliser les pages de résultats de recherche

WBOY
WBOYoriginal
2023-08-05 13:07:421268parcourir

Développement de PHP et Manticore Search : conseils clés pour personnaliser les pages de résultats de recherche

Introduction :
Manticore Search est un moteur de recherche en texte intégral puissant et performant, et PHP est un langage de script largement utilisé. En combinant ces deux outils, nous pouvons facilement créer une page de résultats de recherche efficace. Cet article présente quelques conseils clés pour vous aider à personnaliser votre page de résultats de recherche.

1. Installez Manticore Search
Tout d'abord, vous devez installer Manticore Search. Vous pouvez télécharger le package d'installation sur le site officiel (https://www.manticoresearch.com/) et suivre les instructions pour l'installer. Une fois l'installation terminée, vous pouvez utiliser la commande suivante pour démarrer le service Manticore Search :

sudo systemctl start manticore

2. Indexation
Avant de commencer, vous devez indexer les données pour une recherche efficace. Manticore Search prend en charge une variété de sources de données, telles que les fichiers MySQL, PostgreSQL et CSV. Ici, nous prenons MySQL comme exemple.

Tout d'abord, vous devez créer un fichier de configuration, tel que manticore.conf, dans lequel vous spécifiez les détails de connexion à la base de données 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

Vous pouvez ensuite utiliser la commande suivante pour construire le index :

rrreee
Veuillez vous assurer de modifier votre_nom_d'utilisateur, votre_mot de passe, votre_nom_de_données et votre_nom_index dans le code ci-dessus pour vos propres valeurs.

🎜Ensuite, vous pouvez utiliser la commande suivante pour créer l'index : 🎜rrreee🎜 3. Page de recherche PHP 🎜 Une fois votre index terminé, vous pouvez écrire du code PHP pour implémenter la page de recherche. Voici un exemple : 🎜rrreee🎜Dans le code ci-dessus, votre_nom_index doit être remplacé par votre propre nom d'index. $query dans le code obtient le mot-clé de recherche saisi par l'utilisateur, et $page obtient le numéro de page de la page actuelle. Manticore.php est une simple classe PHP utilisée pour interagir avec Manticore Search. 🎜🎜4. Personnaliser la page des résultats de recherche🎜Dans la page des résultats de recherche, vous pouvez personnaliser l'affichage des résultats de recherche en fonction de vos besoins. Par exemple, vous pouvez utiliser les styles HTML et CSS pour améliorer l'apparence des résultats de recherche, ou ajouter d'autres fonctionnalités pour améliorer l'expérience utilisateur. 🎜🎜Voici un exemple simple montrant comment utiliser HTML et CSS pour styliser une page de résultats de recherche : 🎜rrreee🎜Dans le code ci-dessus, nous avons défini le style .result pour définir l'apparence des résultats de recherche. , Le style .pagination est défini pour définir l'apparence du paginateur. 🎜🎜Conclusion : 🎜Avec PHP et Manticore Search, vous pouvez facilement créer une page de résultats de recherche efficace. Cet article présente les compétences clés pour installer Manticore Search, créer des index, écrire des pages de recherche PHP et personnaliser les pages de résultats de recherche, et joint des exemples de code correspondants pour vous aider à commencer rapidement à créer vos propres pages de résultats de recherche. Bonne chance dans votre développement ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn