Maison  >  Article  >  développement back-end  >  Méthode de sauvegarde et de récupération de données en temps réel à l'aide d'Elasticsearch en PHP

Méthode de sauvegarde et de récupération de données en temps réel à l'aide d'Elasticsearch en PHP

王林
王林original
2023-07-08 10:30:151412parcourir

Méthode de sauvegarde et de récupération des données en temps réel à l'aide d'Elasticsearch en PHP

1. Contexte
Avec le développement rapide des applications Internet, la sauvegarde et la récupération des données en temps réel sont très importantes pour garantir la fiabilité et la durabilité du système. En tant que langage de script largement utilisé dans le développement Web, PHP utilise Elasticsearch comme moteur de stockage et de recherche de données. En combinaison avec les fonctions fournies par PHP, nous pouvons mettre en œuvre une méthode simple et efficace de sauvegarde et de récupération de données en temps réel.

2. Introduction à Elasticsearch
Elasticsearch est un moteur de recherche et d'analyse distribué open source avec une évolutivité et une tolérance aux pannes élevées, et peut stocker, rechercher et analyser de grandes quantités de données en temps réel. Il utilise la technologie d'index inversé basée sur Lucene pour réaliser une recherche rapide en texte intégral et une agrégation de données.

3. Sauvegarder les données sur Elasticsearch

  1. Installer et démarrer Elasticsearch
    Tout d'abord, nous devons installer et démarrer Elasticsearch sur le serveur. Vous pouvez visiter le site officiel d'Elasticsearch (https://www.elastic.co/cn/elasticsearch/) pour télécharger le package d'installation correspondant, puis l'installer et le démarrer conformément à la documentation officielle.
  2. Installez l'extension PHP pour Elasticsearch
    Elasticsearch fournit des bibliothèques clientes pour interagir avec divers langages de programmation. En PHP, nous pouvons utiliser le client PHP Elasticsearch officiellement fourni (https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html). Cette bibliothèque cliente peut être installée à l'aide de l'outil Composer :
composer require elasticsearch/elasticsearch
  1. Connectez-vous à Elasticsearch
    Utilisez le code suivant pour vous connecter à Elasticsearch et obtenir une instance Elasticsearch :
require 'vendor/autoload.php';

$client = ElasticsearchClientBuilder::create()->build();
  1. Créer des index et des mappages
    Avant d'insérer des données, nous devons Créer d'abord un index et définir un mappage des données. L'exemple de code suivant crée un index nommé "my_index" et définit un type de document nommé "my_type" :
$params = [
    'index' => 'my_index',
    'body' => [
        'mappings' => [
            'my_type' => [
                'properties' => [
                    'title' => ['type' => 'text'],
                    'content' => ['type' => 'text'],
                    'timestamp' => ['type' => 'date']
                ]
            ]
        ]
    ]
];

$response = $client->indices()->create($params);
  1. Inserting data
    Utilisez le code suivant pour insérer des données dans Elasticsearch :
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'title' => 'Example Title',
        'content' => 'Example Content',
        'timestamp' => time()
    ]
];

$response = $client->index($params);
  1. Requête de données
    Utilisez ce qui suit code pour interroger les données :
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'query' => [
            'match' => [
                'title' => 'Example'
            ]
        ]
    ]
];

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

Ce qui précède est l'ensemble du processus de sauvegarde des données sur Elasticsearch, qui peut être modifié et étendu en fonction des besoins réels.

4. Récupérer des données d'Elasticsearch
Si des données sont accidentellement perdues ou supprimées dans Elasticsearch, nous pouvons les restaurer en fonction des données sauvegardées. Voici comment restaurer vos données :

  1. Interrogez les données sauvegardées
    Interrogez les données sauvegardées à l'aide du code suivant :
$params = [
    'index' => 'my_backup_index',
    'type' => 'my_type',
    'body' => [
        'query' => [
            'match' => [
                'title' => 'Example'
            ]
        ]
    ]
];

$response = $client->search($params);
  1. Réinsérez les données sauvegardées dans Elasticsearch
    Réinsérez les données sauvegardées dans Elasticsearch à l'aide du code suivant :
foreach ($response['hits']['hits'] as $hit) {
    $params = [
        'index' => 'my_index',
        'type' => 'my_type',
        'id' => $hit['_id'],
        'body' => $hit['_source']
    ];

    $client->index($params);
}

Grâce aux étapes ci-dessus, nous pouvons réinsérer les données sauvegardées dans Elasticsearch pour réaliser la récupération des données.

5. Conclusion
Grâce à la combinaison de PHP et d'Elasticsearch, nous pouvons mettre en œuvre une méthode simple et efficace de sauvegarde et de récupération de données en temps réel. En sauvegardant les données sur Elasticsearch, la sécurité et la fiabilité des données peuvent être garanties. Dans le même temps, grâce aux puissantes fonctions de requête et d'analyse d'Elasticsearch, une récupération et une analyse rapides des données peuvent être facilement obtenues.

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