PHP と Elasticsearch を使用して効率的なフィルタリング関数を構築する方法
はじめに:
Elasticsearch は、効率的な検索エンジンや大規模なデータ フィルタリング関数を構築する場合に非常に強力なソリューションです。これは分散検索エンジンをベースにしたオープンソース ツールで、大量のデータを迅速に処理し、豊富なクエリおよびフィルタリング機能を提供し、PHP を介して対話することもできます。この記事では、Elasticsearch のインストールと設定、PHP と Elasticsearch を使用したデータ フィルタリングなど、PHP と Elasticsearch を使用して効率的なフィルタリング機能を構築する方法を紹介します。
1. Elasticsearch のインストールと構成
bin/elasticsearch
を実行してElasticsearchを起動します。Elasticsearch が正常に開始したかどうかを確認します: ブラウザにhttp://localhost:9200
と入力します。次のような情報が返された場合、Elasticsearch が正常に開始されたことを意味します。
{ "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. データ フィルタリングに PHP と Elasticsearch を使用する
Elasticsearch PHP クライアントをインストールする: Composer を使用して PHP Elasticsearch クライアント ライブラリをインストールします。ターミナルで次のコマンドを実行します:
composer require elasticsearch/elasticsearch
PHP ファイルを作成し、Elasticsearch PHP クライアント ライブラリをインポートします:
require 'vendor/autoload.php'; use ElasticsearchClientBuilder;
Elasticsearch に接続します:
$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);
概要:
上記の手順により、Elasticsearch のインストールと構成が正常に完了し、PHP と Elasticsearch を使用して単純なフィルタリング機能を構築しました。 Elasticsearch の強力なクエリおよびフィルタリング機能により、さまざまな条件に基づいて大規模なデータを迅速にフィルタリングおよび検索できます。この記事がお役に立ち、この知識を将来のプロジェクトに応用していただけることを願っています。
以上がPHP と Elasticsearch を使用して効率的なフィルタリング機能を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。