Comment implémenter la fonction de suggestion de recherche à l'aide de PHP et Elasticsearch

WBOY
Libérer: 2023-07-17 12:36:01
original
1100 Les gens l'ont consulté

Comment utiliser PHP et Elasticsearch pour implémenter la fonction de suggestion de recherche

À l'ère actuelle de l'explosion de l'information sur Internet, les moteurs de recherche sont devenus l'un des moyens importants pour nous d'obtenir des informations. Cependant, lorsque les utilisateurs saisissent des mots-clés de recherche, il y a souvent des fautes d'orthographe ou des requêtes vagues. Dans ce cas, la fonction de suggestion de recherche est nécessaire pour fournir des mots-clés qui pourraient intéresser l'utilisateur, améliorant ainsi l'expérience utilisateur. Cet article explique comment utiliser PHP et Elasticsearch pour implémenter la fonction de suggestion de recherche et donne des exemples de code correspondants.

Tout d’abord, nous devons installer et configurer Elasticsearch. Vous pouvez le télécharger et l'installer à partir du site officiel d'Elasticsearch, puis modifier le fichier elasticsearch.yml pour définir le nom du cluster, l'adresse IP de liaison et d'autres configurations. Après avoir démarré Elasticsearch, vous pouvez vous connecter à Elasticsearch et effectuer les opérations associées via la commande curl ou le client PHP fourni par Elasticsearch.

Ensuite, nous écrirons du code en utilisant PHP pour implémenter la fonction de suggestion de recherche. Tout d'abord, vous devez importer la bibliothèque client PHP d'Elasticsearch. Vous pouvez utiliser Composer pour la gestion des dépendances. Ajoutez le contenu suivant au fichier composer.json dans le répertoire racine du projet :

{
    "require": {
        "elasticsearch/elasticsearch": "^7.0"
    }
}
Copier après la connexion

Exécutez ensuite la commande composer install pour installer les dépendances. composer install命令来安装依赖。

下面是一个简单的PHP代码示例,用于连接Elasticsearch,并设置相关配置:

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

$client = ElasticsearchClientBuilder::create()->build();
Copier après la connexion

接下来,我们需要创建一个Elasticsearch索引,并添加一些示例数据。以下代码示例展示了如何创建一个名为suggestion的索引,并添加一些文档:

<?php
$params = [
    'index' => 'suggestion',
    'body' => [
        'mappings' => [
            'properties' => [
                'text' => [
                    'type' => 'text'
                ]
            ]
        ]
    ]
];

$response = $client->indices()->create($params);

$params = [
    'index' => 'suggestion',
    'body'  => [
        ['text' => 'apple'],
        ['text' => 'banana'],
        ['text' => 'cherry'],
        ['text' => 'durian']
    ]
];

$response = $client->index($params);
Copier après la connexion

现在我们可以编写代码来实现搜索建议功能。以下是一个简单的搜索建议的PHP代码示例:

<?php
$searchText = $_GET['searchText'];

$params = [
    'index' => 'suggestion',
    'body'  => [
        'suggest' => [
            'suggestion' => [
                'prefix' => $searchText,
                'completion' => [
                    'field' => 'text',
                    'size' => 10
                ]
            ]
        ]
    ]
];

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

$suggestions = $response['suggest']['suggestion'][0]['options'];

foreach ($suggestions as $suggest) {
    echo $suggest['text'] . "
";
}
Copier après la connexion

以上代码中,我们通过$_GET['searchText']

Voici un exemple de code PHP simple pour se connecter à Elasticsearch et configurer les configurations associées :

rrreee

Ensuite, nous devons créer un index Elasticsearch et ajouter quelques exemples de données. L'exemple de code suivant montre comment créer un index appelé suggestions et ajouter des documents :

rrreee

Nous pouvons maintenant écrire du code pour implémenter la fonctionnalité de suggestions de recherche. Ce qui suit est un exemple simple de code PHP de suggestions de recherche : 🎜rrreee🎜Dans le code ci-dessus, nous obtenons les mots-clés de recherche saisis par l'utilisateur via $_GET['searchText'], puis utilisons la recherche fonction de suggestion d'Elasticsearch pour obtenir les mots suggérés correspondants. Enfin, les mots suggérés obtenus sont transmis à l'utilisateur. 🎜🎜Avec l'exemple de code ci-dessus, nous pouvons facilement implémenter la fonction de suggestion de recherche basée sur Elasticsearch. Bien entendu, en fonction des besoins réels, nous pouvons optimiser davantage la logique et l’interface des suggestions de recherche pour améliorer l’expérience utilisateur. 🎜🎜Pour résumer, cet article présente comment utiliser PHP et Elasticsearch pour implémenter la fonction de suggestion de recherche et donne des exemples de code correspondants. Nous espérons que les lecteurs pourront comprendre les principes de base et les méthodes de mise en œuvre des suggestions de recherche à travers cet article, afin qu'elles puissent être appliquées et développées dans des projets réels. 🎜

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