Maison  >  Article  >  développement back-end  >  Comment créer une fonctionnalité de filtrage efficace avec PHP et Elasticsearch

Comment créer une fonctionnalité de filtrage efficace avec PHP et Elasticsearch

王林
王林original
2023-07-17 12:51:101372parcourir

Comment créer une fonction de filtrage efficace via PHP et Elasticsearch

Introduction :
Elasticsearch est une solution très puissante lors de la création d'un moteur de recherche efficace ou d'une fonction de filtrage de données à grande échelle. Il s'agit d'un outil open source basé sur un moteur de recherche distribué, capable de traiter rapidement des données massives, de fournir de riches fonctions de requête et de filtrage, et peut également interagir via PHP. Cet article explique comment créer des fonctions de filtrage efficaces via PHP et Elasticsearch, notamment l'installation et la configuration d'Elasticsearch, l'utilisation de PHP et Elasticsearch pour le filtrage des données, etc.

1. Installez et configurez Elasticsearch

  1. Installez Java : Elasticsearch est écrit sur la base de Java, vous devez donc d'abord installer Java. Vous pouvez télécharger le package d'installation Java à partir du site Web officiel de Java, puis suivre l'assistant d'installation pour l'installer.
  2. Téléchargez et décompressez Elasticsearch : téléchargez le package compressé Elasticsearch adapté à votre système d'exploitation sur le site officiel d'Elasticsearch, puis décompressez-le à l'emplacement que vous souhaitez installer.
  3. Démarrez Elasticsearch : entrez dans le répertoire de décompression d'Elasticsearch et exécutez la commande bin/elasticsearch pour démarrer Elasticsearch. bin/elasticsearch来启动Elasticsearch。
  4. 验证Elasticsearch是否成功启动:在浏览器中输入http://localhost:9200

  5. Vérifiez si Elasticsearch démarre correctement : saisissez http://localhost:9200 dans le navigateur. Si des informations similaires à celles-ci sont renvoyées, cela signifie qu'Elasticsearch a démarré avec succès :
{
  "name" : "Node-1",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "42n3GoOpQkm7Bs6NOEXf0A",
  "version" : {
 "number" : "7.15.1",
 "build_flavor" : "default",
 "build_type" : "zip",
 "build_hash" : "unknown",
 "build_date" : "2022-10-26T18:07:47.101138203Z",
 "build_snapshot" : false,
 "lucene_version" : "8.10.1",
 "minimum_wire_compatibility_version" : "6.8.0",
 "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

    . 2. Filtrage des données avec PHP et Elasticsearch
  1. Installez le client PHP Elasticsearch : utilisez Composer pour installer la bibliothèque client Elasticsearch pour PHP. Exécutez la commande suivante dans le terminal :
  2. composer require elasticsearch/elasticsearch

  3. Créez un fichier PHP et importez la bibliothèque client PHP Elasticsearch :
  4. require 'vendor/autoload.php';
    use ElasticsearchClientBuilder;

  5. Connectez-vous à Elasticsearch :
  6. $client = ClientBuilder::create()->build();

  7. Créez un index et un mappage :
  8. $params = [
     'index' => 'my_index',
     'body' => [
         'mappings' => [
             'properties' => [
                 'name' => ['type' => 'text'],
                 'age' => ['type' => 'integer']
             ]
         ]
     ]
    ];
    $response = $client->indices()->create($params);

  9. Ajoutez de la documentation :
  10. $params = [
     'index' => 'my_index',
     'body' => [
         ['index' => ['_index' => 'my_index']],
         ['name' => 'John Doe', 'age' => 25],
         ['index' => ['_index' => 'my_index']],
         ['name' => 'Jane Smith', 'age' => 30]
     ]
    ];
    $response = $client->bulk($params);

  11. Filtrage des données :
$params = [
 'index' => 'my_index',
 'body' => [
     'query' => [
         'bool' => [
             'must' => [
                 ['match' => ['name' => 'John']]
             ]
         ]
     ]
 ]
];
$response = $client->search($params);
print_r($response);


Résumé : 🎜Avec les étapes ci-dessus, nous avons installé et configuré avec succès Elasticsearch et créé une fonction de filtrage simple à l'aide de PHP et Elasticsearch. Grâce aux puissantes capacités de requête et de filtrage d'Elasticsearch, nous pouvons filtrer et rechercher rapidement des données à grande échelle en fonction de diverses conditions. J'espère que cet article vous a été utile et que vous pourrez appliquer ces connaissances dans de futurs projets. 🎜

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