Maison  >  Article  >  développement back-end  >  Développement PHP et Manticore Search : implémenter une fonction efficace de prévisualisation des résultats de recherche

Développement PHP et Manticore Search : implémenter une fonction efficace de prévisualisation des résultats de recherche

WBOY
WBOYoriginal
2023-08-06 15:15:21728parcourir

Développement PHP et Manticore Search : implémentez une fonction efficace de prévisualisation des résultats de recherche

Les moteurs de recherche jouent un rôle essentiel dans les applications Web modernes, aidant les utilisateurs à trouver rapidement les informations dont ils ont besoin. Cependant, la fourniture d'une fonctionnalité de prévisualisation dans les résultats de recherche peut améliorer encore l'expérience utilisateur. Cet article présentera comment utiliser PHP et Manticore Search pour créer une fonction efficace de prévisualisation des résultats de recherche, avec des exemples de code.

Manticore Search est un serveur de recherche en texte intégral basé sur le moteur de recherche open source Sphinx, offrant des performances et une évolutivité élevées. Il peut être facilement intégré à PHP pour fournir une fonctionnalité de recherche rapide et efficace à notre application.

Tout d'abord, nous devons installer et configurer Manticore Search. Veuillez vous assurer que Manticore Search est installé et que vous avez créé un index approprié pour stocker nos données. Des informations détaillées sur la façon d'installer et de configurer Manticore Search peuvent être trouvées dans la documentation officielle.

Vous trouverez ci-dessous un exemple simple pour montrer comment utiliser Manticore Search pour effectuer une recherche et obtenir un aperçu des résultats de la recherche. Supposons que nous disposions déjà d'un index appelé « articles » qui contient le contenu de certains articles.

// 连接到Manticore Search服务器
$client = new SphinxClient();
$client->setServer('localhost', 9306);

// 设置搜索参数
$client->setMatchMode(SPH_MATCH_EXTENDED2);
$client->setLimits(0, 10); // 获取前10个结果

// 执行搜索
$result = $client->query('搜索关键词', 'articles');

// 获取搜索结果
if ($result) {
    // 获取每个搜索结果的ID
    $ids = array_keys($result['matches']);

    // 查询搜索结果的预览内容
    $previewQuery = sprintf('CALL SNIPPETS(%s, 'articles', %s)', $client->quote('搜索关键词'), implode(',', $ids));
    $previewResult = $client->query($previewQuery);

    // 输出搜索结果及其预览内容
    foreach ($previewResult['matches'] as $id => $match) {
        echo '搜索结果:' . $result['matches'][$id]['attrs']['title'] . '<br>';
        echo '预览内容:' . $previewResult['matches'][$id]['attrs']['snippet'] . '<br>';
        echo '<hr>';
    }
}

Dans le code ci-dessus, nous créons d'abord un objet SphinxClient et nous connectons au serveur Manticore Search. Ensuite, nous définissons un mode de recherche et une limite sur le nombre de résultats de recherche. Ensuite, nous interrogeons le contenu de l'aperçu à l'aide de la fonction query方法执行搜索,并获取搜索结果的ID。然后,我们使用SNIPPETS, en lui transmettant le mot-clé de recherche et l'ID du résultat de la recherche. Enfin, nous parcourons les résultats de la recherche et affichons chaque résultat et son contenu d'aperçu.

Avec l'exemple de code ci-dessus, nous pouvons facilement implémenter une fonction efficace de prévisualisation des résultats de recherche. Lorsque les utilisateurs effectuent une recherche, nous pouvons afficher une partie des résultats pour leur permettre de mieux comprendre les résultats de la recherche, améliorant ainsi l'expérience utilisateur.

Pour résumer, cet article présente comment utiliser PHP et Manticore Search pour développer une fonction efficace de prévisualisation des résultats de recherche. Nous avons utilisé les fonctions de recherche et de prévisualisation de Manticore Search et avons fourni un exemple de code simple pour implémenter cette fonction. J'espère que cet article vous sera utile et vous permettra de mieux développer des applications de recherche utilisant Manticore Search et PHP.

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