Maison >développement back-end >tutoriel php >Développer des suggestions de recherche rapides en utilisant PHP et Manticore Search
Développez une fonctionnalité de suggestion de recherche rapide à l'aide de PHP et de Manticore Search
Présentation :
La fonctionnalité de suggestion de recherche fait partie intégrante des moteurs de recherche modernes, fournissant des suggestions instantanées de termes de recherche aux utilisateurs et les mettant à jour en temps réel au fur et à mesure que l'utilisateur tape. Dans cet article, nous verrons comment utiliser PHP et Manticore Search pour implémenter des suggestions de recherche rapides.
Manticore Search est une solution de recherche en texte intégral hautes performances basée sur le moteur de recherche open source Sphinx. Il est rapide, évolutif et hautement personnalisable pour les applications de recherche de toutes tailles.
Étape 1 : Installer et configurer Manticore Search
Tout d'abord, nous devons installer Manticore Search. Vous pouvez télécharger la version adaptée à votre système d'exploitation sur le site officiel (https://manticoresearch.com/downloads). Une fois l'installation terminée, vous devez effectuer une configuration de base. Ouvrez le fichier de configuration de Manticore Search (manticore.conf) et apportez les modifications nécessaires. Assurez-vous de spécifier l'adresse d'écoute et le port corrects, et activez les suggestions de recherche.
Étape 2 : Créer une source de données
Dans la fonction de suggestion de recherche, nous devons préparer certaines données en tant que source de données pour former une bibliothèque de vocabulaire pour les suggestions de recherche. Une approche courante consiste à utiliser une base de données pour stocker les données. Ici, nous supposons que nous disposons déjà d'une table de base de données nommée « produits » qui contient tous les noms de produits.
Étape 3 : Utilisez PHP pour vous connecter à Manticore Search
En PHP, nous pouvons utiliser la bibliothèque manticoresearch/manticoresearch officiellement fournie pour nous connecter et utiliser Manticore Search. Exécutez la commande suivante pour installer la bibliothèque :
composer require manticoresearch/manticoresearch-php
Ensuite, nous pouvons créer un fichier PHP et importer les classes requises :
<?php require "vendor/autoload.php"; use ManticoresearchConnectionSimpleConnection; use ManticoresearchQueryBoolQuery; use ManticoresearchQueryMatchQuery; use ManticoresearchQueryQueryString;
Étape 4 : Coder la fonctionnalité de suggestions de recherche
Nous pouvons maintenant écrire le code pour implémenter la fonctionnalité de suggestions de recherche . Voici un exemple simple qui montre comment obtenir des suggestions de recherche en temps réel :
<?php require "vendor/autoload.php"; use ManticoresearchConnectionSimpleConnection; use ManticoresearchQueryBoolQuery; use ManticoresearchQueryMatchQuery; use ManticoresearchQueryQueryString; // 建立与Manticore Search的连接 $simpleConnection = new SimpleConnection(); $simpleConnection->setHost('localhost')->setPort(9308); // 创建搜索建议的索引 $suggestionsIndex = new ManticoresearchIndex(); $suggestionsIndex->setIndex('suggestions')->setConnection($simpleConnection); // 获取用户输入的搜索词 $searchTerm = $_GET['term']; // 创建查询 $query = new BoolQuery(); $query->add(new QueryString(['query' => $searchTerm, 'fields' => ['name']])); $suggestionsIndex->search($query); $result = $suggestionsIndex->getResultSet(); // 处理结果 $suggestions = []; foreach ($result->getDocuments() as $doc) { $suggestions[] = $doc->name; } // 返回搜索建议 echo json_encode($suggestions);
Étape 5 : Utilisez la fonction de suggestions de recherche dans la page frontale
Dans la page frontale, nous pouvons utiliser JavaScript pour traiter et afficher les suggestions de recherche. Voici un exemple simple utilisant jQuery et le plug-in Autocomplete pour afficher des suggestions de recherche :
<!DOCTYPE html> <html> <head> <title>搜索建议示例</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script> $(function() { $("#search").autocomplete({ source: "suggest.php", // 后端脚本处理的URL minLength: 2, // 最小输入字符数 delay: 500 // 延迟时间 }); }); </script> </head> <body> <div class="ui-widget"> <label for="search">搜索:</label> <input id="search"> </div> </body> </html>
Enregistrez le code ci-dessus sous deux fichiers, suggest.php et index.html, et déployez-les sur votre serveur Web PHP. Vous pouvez maintenant expérimenter suggestions de recherche dans votre navigateur.
Conclusion :
En utilisant PHP et Manticore Search, nous pouvons facilement implémenter une fonctionnalité de suggestion de recherche rapide. Manticore Search offre de puissantes capacités de recherche en texte intégral, et PHP nous permet d'interagir facilement avec les moteurs de recherche et de traiter les résultats de recherche. J'espère que cet article pourra vous aider à développer des suggestions de recherche !
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!