Elasticsearch を使用して PHP で増分データ更新を実装する方法

WBOY
リリース: 2023-07-07 16:22:01
オリジナル
1279 人が閲覧しました

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 を使用して増分データ更新を実装するには、次の手順を実行します:

  1. まず、データを保存するための新しいインデックス。次のコードを使用して、新しいインデックスを作成できます。
$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_typetype を作成します。この型には titlecontent という 2 つのフィールドが含まれており、そのデータ型をテキスト型として指定します。

  1. 次に、データを Elasticsearch に挿入する必要があります。次のコードを使用して、インデックスにデータを挿入できます。
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'title' => '文章标题',
        'content' => '文章内容',
    ],
];

$response = $client->index($params);
ログイン後にコピー

このコードでは、記事のタイトルとコンテンツをドキュメントとして my_index インデックスに挿入します my_type タイプ。

  1. 既存のドキュメントを更新する必要がある場合は、次のコードを使用できます:
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => '1',
    'body' => [
        'doc' => [
            'title' => '新的文章标题',
        ],
    ],
];

$response = $client->update($params);
ログイン後にコピー

このコードでは、id パラメーターを渡します。更新するドキュメントの ID を指定し、doc フィールドを使用して更新するフィールドとその新しい値を指定します。

  1. 最後に、インデックス内のドキュメントを削除する必要がある場合は、次のコードを使用できます:
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => '1',
];

$response = $client->delete($params);
ログイン後にコピー

このコードでは、id# を渡します。 ##パラメータには、削除するドキュメントのIDを指定します。

3. 概要

上記の手順により、PHP で Elasticsearch を使用してデータの増分更新を実現できます。まず、Elasticsearch に接続して関連情報を構成する必要があります。次に、インデックスを作成してデータを挿入し、最後に、既存のドキュメントを更新および削除できます。 Elasticsearch クライアント ライブラリを使用すると、PHP で簡単に Elasticsearch を操作し、データの増分更新を実現できます。

以上、PHPとElasticsearchを使って増分データ更新を実現する方法の紹介でした。お役に立てれば!

以上がElasticsearch を使用して PHP で増分データ更新を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート