ホームページ >バックエンド開発 >PHPチュートリアル >Elasticsearch を使用して PHP で増分データ更新を実装する方法
PHP で Elasticsearch を使用して増分データ更新を実装する方法
Elasticsearch は、全文検索、リアルタイム データ分析、およびデータ視覚化をサポートするオープン ソースの分散型検索エンジンです。高性能、高信頼性、拡張性という特徴があるため、開発者の間でますます人気が高まっています。 PHP 開発では、Elasticsearch のデータを段階的に更新する必要があることがよくあります。この記事では、PHP と Elasticsearch を使用してデータの増分更新を実装する方法を紹介します。
1. インストールと構成
使用を開始する前に、まず Elasticsearch クライアント ライブラリを PHP にインストールする必要があります。 Composer を通じてインストールし、次のコマンドを実行します:
composer require elasticsearch/elasticsearch
次に、Elasticsearch クライアント ライブラリが提供する API を使用するために、PHP プロジェクトに Elasticsearch クライアント ライブラリを導入する必要があります。コードでは、次のコードを使用する必要があります:
require 'vendor/autoload.php'; use ElasticsearchClientBuilder;
次に、Elasticsearch の接続情報を構成する必要があります。次のコードを使用して、コード内に構成情報を書き込むことができます。
$hosts = [ [ 'host' => 'localhost', 'port' => '9200', 'scheme' => 'http', ] ]; $clientBuilder = ClientBuilder::create(); $clientBuilder->setHosts($hosts); $client = $clientBuilder->build();
このコードでは、Elasticsearch のホストとポート番号を設定することで接続情報を構成します。 Elasticsearch が https プロトコルを通じてアクセスされている場合は、それを 'scheme' => 'https'
に変更する必要があります。
2. 増分データ更新
PHP で Elasticsearch を使用して増分データ更新を実装するには、次の手順を実行します:
$params = [ 'index' => 'my_index', 'body' => [ 'settings' => [ 'number_of_shards' => 1, 'number_of_replicas' => 0, ], 'mappings' => [ 'my_type' => [ 'properties' => [ 'title' => [ 'type' => 'text', ], 'content' => [ 'type' => 'text', ], ], ], ], ], ]; $response = $client->indices()->create($params);
このコードでは、my_index
インデックスを定義し、my_type
type を作成します。この型には title
と content
という 2 つのフィールドが含まれており、そのデータ型をテキスト型として指定します。
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'title' => '文章标题', 'content' => '文章内容', ], ]; $response = $client->index($params);
このコードでは、記事のタイトルとコンテンツをドキュメントとして my_index
インデックスに挿入します my_type
タイプ。
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => '1', 'body' => [ 'doc' => [ 'title' => '新的文章标题', ], ], ]; $response = $client->update($params);
このコードでは、id
パラメーターを渡します。更新するドキュメントの ID を指定し、doc
フィールドを使用して更新するフィールドとその新しい値を指定します。
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => '1', ]; $response = $client->delete($params);
このコードでは、id# を渡します。 ##パラメータには、削除するドキュメントのIDを指定します。
以上がElasticsearch を使用して PHP で増分データ更新を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。