Maison >développement back-end >tutoriel php >Développement de recherche PHP et Manticore : créez un affichage unique des résultats de recherche
Développement de PHP et Manticore Search : créez un affichage unique des résultats de recherche
Présentation :
À l'ère d'Internet moderne, les moteurs de recherche sont sans aucun doute devenus l'un des outils préférés des utilisateurs pour obtenir des informations. Et pour les développeurs de sites Web et d’applications, il est essentiel de fournir une présentation efficace, précise et unique des résultats de recherche. Cet article présentera comment utiliser PHP et Manticore Search pour développer et optimiser l'affichage des résultats de recherche.
Introduction à Manticore Search :
Manticore Search est un service de recherche en texte intégral développé sur la base du moteur de recherche open source Sphinx. Il offre des performances élevées, une évolutivité et des capacités de recherche complètes. Il est très pratique d'utiliser PHP pour se connecter et interroger le service Manticore Search, nous permettant d'obtenir des données de résultats précises basées sur des mots-clés de recherche.
L'exemple de code utilisant l'extension officielle "manticore" est le suivant :
// Connectez le service Manticore Search
$conn = new ManticoreSe();
$conn->connect('localhost', 9306);
// Recherche par mot clé
$keyword = 'PHP';
$res = $conn->query($keyword, 'my_index');
if ($res && $res->getTotal() > 0 ) {
// 遍历搜索结果 foreach ($res->getMatches() as $match) { // 处理搜索结果数据 $id = $match['id']; $title = $match['attrs']['title']; $content = $match['attrs']['content']; // ... }
}
a) Mettre en surbrillance les mots-clés de recherche :
La mise en surbrillance des mots-clés dans les résultats de recherche peut aider les utilisateurs à trouver plus facilement des informations pertinentes. Nous pouvons utiliser les fonctions intégrées de PHP et les balises HTML pour mettre en évidence les mots clés.
$highlightedTitle = preg_replace('/('.$keyword.')/i', '$1128dba7a3a77be0113eb0bea6ea0a5d0', $title);
$highlightedContent = preg_replace('/('.$keyword.' )/i', '$1128dba7a3a77be0113eb0bea6ea0a5d0', $content);
echo "684271ed9684bde649abda8831d4d355".$highlightedTitle."39528cedfa926ea0c01e69ef5b2ea9b0";
echo "e388a4556c0f65e1904146cc1a846bee".$ highlightContent."94b3e26ee717c64999d7867364b1b4a3";
b) Tri et affichage du poids :
Manticore Search nous permet de définir le tri et la pondération des résultats de recherche. Nous pouvons utiliser ces classements et pondérations pour afficher des résultats de recherche plus ciblés et personnalisables.
$res->setSortMode(SPH_SORT_ATTR_DESC, 'weight');
$res->setFieldWeights(array('title'=>10, 'content'=>5));
foreach ($res ->getMatches() as $match) {
$id = $match['id']; $title = $match['attrs']['title']; $content = $match['attrs']['content']; $weight = $match['weight']; echo "<h3>".$title."</h3>"; echo "<p>".$content."</p>"; echo "<p>权重: ".$weight."</p>";
}
Conclusion :
En utilisant PHP et Manticore Search, nous pouvons facilement développer et optimiser l'affichage des résultats de recherche. En mettant en évidence les mots-clés, en les triant et en les pondérant, nous pouvons créer des pages de résultats de recherche uniques et conviviales, améliorer l'expérience utilisateur et fournir des services de recherche d'informations plus précis. Dans les applications pratiques, nous pouvons personnaliser davantage l'affichage des résultats de recherche en fonction des besoins pour répondre aux besoins de différents scénarios.
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!