Développer des suggestions de recherche rapides en utilisant PHP et Manticore Search

王林
Libérer: 2023-08-05 21:46:02
original
1439 Les gens l'ont consulté

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
Copier après la connexion

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;
Copier après la connexion

É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);
Copier après la connexion

É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>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!