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
bin/elasticsearch
pour démarrer Elasticsearch. bin/elasticsearch
来启动Elasticsearch。验证Elasticsearch是否成功启动:在浏览器中输入http://localhost:9200
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" }
composer require elasticsearch/elasticsearch
require 'vendor/autoload.php'; use ElasticsearchClientBuilder;
$client = ClientBuilder::create()->build();
$params = [ 'index' => 'my_index', 'body' => [ 'mappings' => [ 'properties' => [ 'name' => ['type' => 'text'], 'age' => ['type' => 'integer'] ] ] ] ]; $response = $client->indices()->create($params);
$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);
$params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ ['match' => ['name' => 'John']] ] ] ] ] ]; $response = $client->search($params); print_r($response);
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!