Maison  >  Article  >  développement back-end  >  Quelles sont les opérations Elasticsearch courantes dans la programmation PHP ?

Quelles sont les opérations Elasticsearch courantes dans la programmation PHP ?

PHPz
PHPzoriginal
2023-06-12 09:45:181481parcourir

PHP est un langage de programmation largement utilisé dans le développement Web. Avec l’avènement de l’ère du Big Data, les moteurs de recherche sont devenus un élément indispensable des grands sites Web. Elasticsearch est un moteur de recherche et d'analyse distribué en temps réel moderne. Il fournit des API puissantes pour faciliter la recherche, l'agrégation, l'analyse et d'autres opérations sur les données. Cet article présentera quelques opérations Elasticsearch courantes dans la programmation PHP.

  1. Données d'index

L'index est une unité de base dans Elasticsearch, similaire à une table dans une base de données relationnelle. Avant d'effectuer des opérations de recherche, nous devons indexer les données dans Elasticsearch. Voici un exemple de code pour indexer des données en PHP :

$client = ElasticsearchClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 'my_id',
    'body' => [
        'title' => 'This is a test document',
        'content' => 'Elasticsearch is a highly scalable open-source search engine'
    ]
];
$response = $client->index($params);

Le code ci-dessus ajoutera un document à un index appelé "my_index" avec le type "my_type" et l'ID "my_id". Le contenu du document comprend deux champs : « titre » et « contenu ».

  1. Données de recherche

Elasticsearch fournit une API de recherche riche pour permettre aux développeurs de faire correspondre et d'interroger les données. Voici un exemple de code pour rechercher des données en PHP :

$client = ElasticsearchClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'query' => [
            'match' => [
                'title' => 'test'
            ]
        ]
    ]
];
$response = $client->search($params);

Le code ci-dessus recherchera tous les documents de "mon_type" dans l'index nommé "mon_index", et les documents dont le champ "titre" correspond à "test" seront est revenu.

  1. Agrégation de données

Elasticsearch fournit de puissantes fonctions d'agrégation qui peuvent effectuer diverses opérations de regroupement, de statistiques et de calcul sur les données. Voici un exemple de code pour agréger des données en PHP :

$client = ElasticsearchClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'aggs' => [
            'avg_content_length' => [
                'avg' => [
                    'field' => 'content_length'
                ]
            ]
        ]
    ]
];
$response = $client->search($params);

Le code ci-dessus recherchera tous les documents de "my_type" dans l'index nommé "my_index" et calculera la moyenne du champ "content_length".

  1. Mettre à jour les données

Dans les applications pratiques, les données doivent souvent être mises à jour. Voici un exemple de code pour mettre à jour les données en PHP :

$client = ElasticsearchClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 'my_id',
    'body' => [
        'doc' => [
            'title' => 'This is a new title'
        ]
    ]
];
$response = $client->update($params);

Le code ci-dessus mettra à jour le champ "titre" du document avec l'ID "my_id" en "Ceci est un nouveau titre".

  1. Supprimer les données

Si les données ne sont plus nécessaires, nous pouvons les supprimer d'Elasticsearch. Voici l'exemple de code pour supprimer des données en PHP :

$client = ElasticsearchClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 'my_id'
];
$response = $client->delete($params);

Le code ci-dessus supprimera le document avec l'ID "my_id" de l'index nommé "my_index".

Résumé

Les opérations ci-dessus sont des opérations Elasticsearch courantes dans la programmation PHP. Elasticsearch fournit une API riche et les développeurs peuvent choisir l'API appropriée pour effectuer les opérations pertinentes en fonction des besoins réels. La maîtrise de ces API peut considérablement améliorer l'efficacité de la recherche et du traitement des données, offrant ainsi une meilleure expérience utilisateur aux utilisateurs du site Web.

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