Maison  >  Article  >  développement back-end  >  Comment connecter PHP à la base de données Elasticsearch

Comment connecter PHP à la base de données Elasticsearch

王林
王林original
2023-10-03 08:39:171093parcourir

PHP 如何与 Elasticsearch 数据库连接

Comment connecter PHP à la base de données Elasticsearch nécessite des exemples de code spécifiques

1 Introduction au contexte
Elasticsearch est un moteur de recherche open source basé sur Lucene. Il fournit un moteur de recherche en texte intégral distribué et multi-tenant qui peut réaliser. données en temps réel Fonctions telles que l'analyse, la recherche de données et le stockage de données. Lors de la création d'applications Web, la connexion à Elasticsearch offre des fonctionnalités efficaces de requête et de récupération de données. Cet article explique comment se connecter à une base de données Elasticsearch en PHP et fournit des exemples de code spécifiques.

2. Installation et configuration

  1. Installez Elasticsearch : vous pouvez télécharger la version appropriée sur le site officiel d'Elasticsearch (https://www.elastic.co/downloads/elasticsearch), puis l'installer et la configurer conformément à la documentation officielle. .
  2. Installez la bibliothèque cliente Elasticsearch PHP : vous pouvez installer la bibliothèque cliente Elasticsearch PHP via Composer. Ajoutez les dépendances suivantes dans le fichier composer.json dans le répertoire du projet et exécutez la commande composer install pour l'installer.
"require": {
    "elasticsearch/elasticsearch": "~7.0"
}

3. Connectez-vous à Elasticsearch
Pour vous connecter à la base de données Elasticsearch en PHP, vous devez utiliser les classes et méthodes fournies par la bibliothèque cliente Elasticsearch PHP. Voici un exemple simple :

require 'vendor/autoload.php';

use ElasticsearchClientBuilder;
$client = ClientBuilder::create()->setHosts(['localhost:9200'])->build();

$params = [
    'index' => 'my_index', // 索引名称
    'id' => '1', // 文档 ID
];

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

print_r($response);

Dans l'exemple de code ci-dessus, nous avons d'abord présenté la bibliothèque client PHP Elasticsearch et créé un client Elasticsearch (client). Lors de la création du client, nous devons spécifier l'hôte et le numéro de port pour Elasticsearch (le "localhost:9200" par défaut est utilisé dans cet exemple).

4. Opérations spécifiques

  1. Ajouter un document
    Ce qui suit est un exemple de code pour ajouter un document à la base de données Elasticsearch :
$params = [
    'index' => 'my_index', // 索引名称
    'id' => 1, // 文档 ID
    'body' => [
        'title' => "PHP Elasticsearch",
        'content' => "Elasticsearch 是一个强大的搜索引擎。",
        'tags' => ['php', 'elasticsearch']
    ]
];
$response = $client->index($params);
  1. Requête de document
    Ce qui suit est un exemple de code pour interroger un document en fonction de son ID :
$params = [
    'index' => 'my_index', // 索引名称
    'id' => 1 // 文档 ID
];
$response = $client->get($params);
print_r($response);
  1. Mettre à jour le document
    Ce qui suit est un exemple de code pour mettre à jour un document :
$params = [
    'index' => 'my_index', // 索引名称
    'id' => 1, // 文档 ID
    'body' => [
        'doc' => [
            'title' => "Updated Title"
        ]
    ]
];
$response = $client->update($params);
  1. Supprimer un document
    Ce qui suit est un exemple de code pour supprimer un document :
$params = [
    'index' => 'my_index', // 索引名称
    'id' => 1 // 文档 ID
];
$response = $client->delete($params);

5. Résumé
Cet article présente comment pour se connecter à la base de données Elasticsearch en PHP et fournit un exemple de code détaillé. En utilisant la bibliothèque client Elasticsearch PHP, nous pouvons facilement effectuer des opérations d'ajout, de suppression, de modification et de requête de données. J'espère que cet article a fourni de l'aide à tous ceux qui utilisent Elasticsearch en PHP. Si vous avez des questions ou des préoccupations, veuillez laisser un message pour en discuter.

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