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

王林
Libérer: 2023-07-17 12:52:01
original
1298 Les gens l'ont consulté

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 commandebin/elasticsearchpour démarrer Elasticsearch.bin/elasticsearch来启动Elasticsearch。
  4. 验证Elasticsearch是否成功启动:在浏览器中输入http://localhost:9200

  5. Vérifiez si Elasticsearch démarre correctement : saisissez http://localhost:9200dans 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" }
Copier après la connexion

    . 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
    Copier après la connexion

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

  5. Connectez-vous à Elasticsearch :
  6. $client = ClientBuilder::create()->build();
    Copier après la connexion

  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);
    Copier après la connexion

  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);
    Copier après la connexion

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


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!

É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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!