Elasticsearch と PHP をドキュメントの管理と検索に活用する方法

王林
リリース: 2023-07-08 13:22:01
オリジナル
916 人が閲覧しました

Elasticsearch と PHP を使用してドキュメントの管理と取得を行う方法

概要
Elasticsearch は、強力なテキスト検索および分析機能を備えたオープンソースの分散型検索エンジンです。 PHP は、Web 開発に広く使用されている人気のあるサーバー側プログラミング言語です。この記事では、ドキュメントの管理と検索に Elasticsearch と PHP を使用する方法を紹介し、読者の理解と実践に役立つコード例を提供します。

Elasticsearch のインストールと構成
まず、Elasticsearch をインストールして構成する必要があります。 Elasticsearch の公式 Web サイトから最新バージョンをダウンロードし、指示に従ってインストールできます。インストールが完了したら、クラスター名やノード名の設定など、Elasticsearch でいくつかの基本構成を実行する必要があります。具体的な設定方法については、Elasticsearchの公式ドキュメントを参照してください。

PHP クライアントのインストールと構成
次に、Elasticsearch と対話するために PHP クライアントをインストールして構成する必要があります。 Elasticsearch が公式に提供する PHP クライアント - Elasticsearch-PHP (https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html) を使用することをお勧めします。 Composer を使用してクライアントをインストールできます。コマンドは次のとおりです:

composer require elasticsearch/elasticsearch

インストールが完了したら、次のコードを使用して Elasticsearch に接続し、検証します。接続が成功したかどうか:

require 'vendor/autoload.php';

$client = ElasticsearchClientBuilder::create()
            ->setHosts(['localhost:9200'])
            ->build();

$params = [
    'index' => 'test_index',
    'body' => [
        'query' => [
            'match_all' => new stdClass(),
        ],
    ],
];

$response = $client->search($params);

print_r($response);
ログイン後にコピー

上記のコードでは、最初に Elasticsearch-PHP クライアントを導入し、Elasticsearch クライアント インスタンスを作成しました。次に、このクライアント インスタンスを使用して、単純なクエリ リクエストを送信します。クエリ ステートメントの match_all はすべてのドキュメントと一致することを示し、test_index はクエリされるインデックスを示します。最後に、search メソッドを通じてクエリ リクエストを送信し、クエリ結果を出力します。

インデックスとドキュメントの作成
次に、インデックスとドキュメントの作成方法を学習します。インデックスは、リレーショナル データベースのテーブルと同様に、ドキュメントが保存される場所です。ドキュメントは実際のデータであり、リレーショナル データベースの行と同様です。次のコードを使用して、インデックスと単純なドキュメントを作成できます。

$params = [
    'index' => 'my_index',
    'body' => [
        'settings' => [
            'number_of_replicas' => 0,
            'number_of_shards' => 1,
        ],
        'mappings' => [
            'properties' => [
                'title' => [
                    'type' => 'text',
                ],
                'content' => [
                    'type' => 'text',
                ],
            ],
        ],
    ],
];

$response = $client->indices()->create($params);

$params = [
    'index' => 'my_index',
    'id' => '1',
    'body' => [
        'title' => 'Elasticsearch入门指南',
        'content' => '本书详细介绍了如何使用Elasticsearch进行文档管理和检索。',
    ],
];

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

上記のコードでは、まず indices()->create# を使用して my_index という名前のインデックスを作成します。 ## メソッド インデックスを作成し、いくつかのインデックス設定と属性 (マッピング) を指定します。次に、index メソッドを使用してドキュメントを作成し、ドキュメントのタイトルとコンテンツを指定しました。

ドキュメントの検索

インデックスとドキュメントを取得したら、Elasticsearch を使用して検索できます。簡単な検索コードの例を次に示します。

$params = [
    'index' => 'my_index',
    'body' => [
        'query' => [
            'match' => [
                'title' => '入门指南',
            ],
        ],
    ],
];

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

上記のコードでは、

match クエリを使用して、タイトルに Getting Started を含むドキュメントを検索しました。クエリ結果を出力すると、Elasticsearch が一致するドキュメント情報を返したことがわかります。

ドキュメントの更新と削除

ドキュメントを更新または削除する必要がある場合は、次のコード例を使用できます。

$params = [
    'index' => 'my_index',
    'id' => '1',
    'body' => [
        'doc' => [
            'title' => 'Elasticsearch入门指南(第二版)',
        ],
    ],
];

$response = $client->update($params);

$params = [
    'index' => 'my_index',
    'id' => '1',
];

$response = $client->delete($params);
ログイン後にコピー
上記のコードでは、最初に

を使用します。 update 更新するメソッド ID 1 のドキュメントのタイトル。次に、ID 1 のドキュメントが delete メソッドを使用して削除されました。

概要

この記事の紹介とコード例を通じて、Elasticsearch と PHP をドキュメントの管理と検索に使用する方法を学びました。まず、Composer を使用して Elasticsearch と Elasticsearch-PHP クライアントをインストールして設定する必要があります。次に、インデックスとドキュメントの作成方法、ドキュメントの検索、更新、削除の方法を学びました。この記事が、読者がドキュメントの管理と検索に Elasticsearch と PHP をよりよく理解し、使用できるようになれば幸いです。

以上がElasticsearch と PHP をドキュメントの管理と検索に活用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!