Maison >développement back-end >tutoriel php >Développer une fonctionnalité de suggestion de recherche en utilisant PHP et Manticore Search

Développer une fonctionnalité de suggestion de recherche en utilisant PHP et Manticore Search

王林
王林original
2023-08-05 13:41:061584parcourir

Développez la fonctionnalité de suggestion de recherche à l'aide de PHP et Manticore Search

Dans les sites Web et les applications modernes, la fonctionnalité de recherche est un composant très important. Pour améliorer l'expérience utilisateur, les fonctionnalités de suggestion de recherche sont largement utilisées. La fonction de suggestion de recherche peut fournir des suggestions de recherche pertinentes et une complétion automatique en fonction des mots-clés saisis par l'utilisateur. Dans cet article, nous développerons une fonctionnalité simple de suggestion de recherche utilisant PHP et Manticore Search.

Manticore Search est une version réécrite basée sur le moteur de recherche open source Sphinx, qui offre des performances plus élevées et des fonctionnalités plus riches. Il prend en charge des fonctions telles que la recherche en texte intégral, l'indexation en temps réel et la recherche de géolocalisation. Nous utiliserons Manticore Search pour créer une fonctionnalité de suggestion de recherche rapide et efficace.

Tout d'abord, nous devons installer Manticore Search sur le serveur. Il peut être installé avec la commande suivante :

$ sudo apt-get update
$ sudo apt-get install manticoresearch

Une fois l'installation terminée, nous devons créer un index pour stocker nos données de recherche. Dans Manticore Search, un index est une collection de documents, chacun contenant un ou plusieurs champs. Nous pouvons créer un index appelé « suggestions » en utilisant la commande suivante :

$ mysql -P 9306
mysql> CREATE TABLE suggestions(title TEXT, suggestion BIGINT) INDEX title;
mysql> quit

Ensuite, nous pouvons utiliser PHP pour interagir avec Manticore Search. Tout d’abord, nous devons installer le package manticoresearch/manticoresearch. L'installation peut être complétée via Composer : manticoresearch/manticoresearch包。可以通过Composer来完成安装:

$ composer require manticoresearch/manticoresearch

安装完成后,我们可以编写PHP代码来实现搜索建议功能。首先,我们需要建立与Manticore Search的连接:

<?php
require 'vendor/autoload.php';

use ManticoresearchClient;

$client = new Client();
$client->connect();

然后,我们可以编写一个函数来获取搜索建议。该函数将根据用户输入的关键词,在Manticore Search中执行搜索查询,并返回相关的搜索建议:

function getSuggestions($client, $query) {
    $params = [
        'index' => 'suggestions',
        'body' => [
            'query' => [
                'match' => [
                    'title' => [
                        'query' => $query,
                        'operator' => 'and'
                    ]
                ]
            ],
            'suggest' => [
                'suggestion' => [
                    'prefix' => $query,
                    'completion' => [
                        'field' => 'suggestion'
                    ]
                ]
            ]
        ]
    ];

    $response = $client->search($params);

    $suggestions = [];
    foreach ($response['suggest']['suggestion'][0]['options'] as $option) {
        $suggestions[] = $option['text'];
    }

    return $suggestions;
}

最后,我们可以编写一个简单的代码来测试搜索建议功能:

$query = $_GET['q'];

if ($query) {
    $suggestions = getSuggestions($client, $query);

    foreach ($suggestions as $suggestion) {
        echo $suggestion . "<br>";
    }
}

在上面的示例中,我们使用$_GET['q']来获取用户在搜索框中输入的关键词。然后,我们调用getSuggestionsrrreee

Une fois l'installation terminée, nous pouvons écrire du code PHP pour implémenter la fonction de suggestion de recherche. Tout d'abord, nous devons établir une connexion à Manticore Search :

rrreee

Ensuite, nous pouvons écrire une fonction pour obtenir des suggestions de recherche. Cette fonction exécutera une requête de recherche dans Manticore Search en fonction des mots-clés saisis par l'utilisateur et renverra des suggestions de recherche pertinentes :

rrreee

Enfin, nous pouvons écrire un code simple pour tester la fonctionnalité de suggestion de recherche : 🎜rrreee🎜 Dans l'exemple ci-dessus, nous utilisons $_GET['q'] pour obtenir les mots-clés saisis par l'utilisateur dans le champ de recherche. Ensuite, nous appelons la fonction getSuggestions pour obtenir des suggestions de recherche pertinentes et les afficher sur la page. 🎜🎜Résumé🎜🎜En utilisant PHP et Manticore Search, nous pouvons facilement développer une fonction de suggestion de recherche rapide et efficace. Manticore Search offre de puissantes capacités de recherche en texte intégral et de saisie semi-automatique, nous permettant d'offrir une excellente expérience de recherche au sein de l'application. J'espère que cet article vous sera utile pour apprendre et utiliser Manticore Search pour développer des fonctions de suggestion 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!

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