ホームページ  >  記事  >  バックエンド開発  >  PHP プログラミングにおける一般的な Elasticsearch 操作は何ですか?

PHP プログラミングにおける一般的な Elasticsearch 操作は何ですか?

PHPz
PHPzオリジナル
2023-06-12 09:45:181536ブラウズ

PHP は、Web 開発で広く使用されているプログラミング言語です。ビッグデータ時代の到来により、検索エンジンは大規模な Web サイトに不可欠な要素になりました。 Elasticsearch は、最新の分散型リアルタイム検索および分析エンジンであり、開発者によるデータの検索、集計、分析、その他の操作を容易にするいくつかの強力な API を提供します。この記事では、PHP プログラミングにおける一般的な Elasticsearch 操作をいくつか紹介します。

  1. インデックス データ

インデックスは、リレーショナル データベースのテーブルに似た、Elasticsearch の基本単位です。検索操作を実行する前に、データのインデックスを Elasticsearch に作成する必要があります。以下は、PHP でデータのインデックスを作成するためのサンプル コードです。

$client = ElasticsearchClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 'my_id',
    'body' => [
        'title' => 'This is a test document',
        'content' => 'Elasticsearch is a highly scalable open-source search engine'
    ]
];
$response = $client->index($params);

上記のコードは、タイプが「my_type」、ID が「my_id」のドキュメントを「my_index」という名前のインデックスに追加します。文書の内容には、「タイトル」と「内容」の 2 つのフィールドが含まれます。

  1. データの検索

Elasticsearch は、開発者がデータの照合やクエリを容易に行うための豊富な検索 API を提供します。以下は、PHP でデータを検索するためのサンプル コードです。

$client = ElasticsearchClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'query' => [
            'match' => [
                'title' => 'test'
            ]
        ]
    ]
];
$response = $client->search($params);

上記のコードは、「my_index」という名前のインデックス内のすべての「my_type」ドキュメントを検索します。ここで、「test」ドキュメントと一致する「title」フィールドは、戻ってきます。

  1. データの集約

Elasticsearch は、データに対してさまざまなグループ化、統計、計算操作を実行できる強力な集約関数を提供します。以下は、PHP でデータを集計するためのサンプル コードです。

$client = ElasticsearchClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'aggs' => [
            'avg_content_length' => [
                'avg' => [
                    'field' => 'content_length'
                ]
            ]
        ]
    ]
];
$response = $client->search($params);

上記のコードは、「my_index」という名前のインデックス内の「my_type」のすべてのドキュメントを検索し、「content_length」フィールドの平均を計算します。

  1. データの更新

実際のアプリケーションでは、データを更新する必要があることがよくあります。以下は、PHP でデータを更新するためのサンプル コードです。

$client = ElasticsearchClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 'my_id',
    'body' => [
        'doc' => [
            'title' => 'This is a new title'
        ]
    ]
];
$response = $client->update($params);

上記のコードは、ID が「my_id」であるドキュメントの「タイトル」フィールドを「これは新しいタイトルです」に更新します。

  1. データの削除

データが不要になった場合は、Elasticsearch から削除できます。以下は、PHP でデータを削除するためのサンプル コードです。

$client = ElasticsearchClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => 'my_id'
];
$response = $client->delete($params);

上記のコードは、「my_index」という名前のインデックスから ID「my_id」のドキュメントを削除します。

概要

上記は、PHP プログラミングにおける一般的な Elasticsearch 操作です。 Elasticsearch は豊富な API を提供しており、開発者は適切な API を選択して、実際のニーズに基づいて関連する操作を実行できます。これらの API に習熟すると、データの検索と処理の効率が大幅に向上し、Web サイト ユーザーにより良いユーザー エクスペリエンスを提供できます。

以上がPHP プログラミングにおける一般的な Elasticsearch 操作は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。