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 recherche PHP et Manticore : créez un affichage unique des résultats de recherche

WBOY
WBOYoriginal
2023-08-06 10:18:151622parcourir

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.

  1. Installer et configurer Manticore Search :
    Tout d'abord, nous devons installer et configurer Manticore Search. Manticore Search peut être téléchargé et installé à partir du site officiel (https://manticoresearch.com/). Après une installation réussie, nous devons effectuer une configuration de base, y compris la définition de l'index, la configuration du service de recherche, etc. Pour des détails de configuration spécifiques, veuillez vous référer à la documentation officielle de Manticore Search.
  2. Connectez-vous au service Manticore Search :
    En PHP, nous pouvons utiliser l'extension officielle "manticore" fournie par Manticore Search, ou utiliser l'extension tierce "sphinxapi" pour nous connecter et interroger le service Manticore Search.

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'];
    // ...
}

}

  1. Affichage en fonction des résultats de recherche :
    Après avoir obtenu les résultats de la recherche, nous devons les afficher en conséquence. Voici un exemple de code pour afficher les résultats de recherche de manière unique.

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!

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