検索機能は、特に大量のデータと高い並行クエリに直面している場合、最新のWebアプリケーションでは不可欠です。従来のデータベースクエリメソッドは通常、これらのニーズを満たすことができず、Elasticsearchは強力な分散検索エンジンとして、大規模なデータを効率的に処理し、近い時間検索をサポートできます。
まず、サーバーにElasticSearchをインストールする必要があります。公式Webサイトにアクセスして、インストールパッケージの最新バージョンをダウンロードし、関連するドキュメントに従ってインストールして構成できます。
次に、Composerを使用して、PHPのElasticSearchクライアントライブラリをインストールします。次のコマンドを実行してインストールします。
作曲家には、Elasticsearch/Elasticsearchが必要です
PHPコードでは、最初にElasticSearchクライアントのインスタンスを作成し、ElasticSearchサーバーに接続する必要があります。これがサンプルコードです:
「ベンダー/autoload.php」が必要です。 $ client = elasticsearchclientbuilder :: create() - > build();
検索する前に、インデックスとマッピングを作成する必要があります。 ElasticSearchでは、インデックスはデータベース内のテーブルと同等であり、マップはデータの構造を定義します。インデックスを作成してマッピングを定義する例は次のとおりです。
$ params = [ 'index' => 'my_index'、 'body' => [ 「マッピング」=> [ 「プロパティ」=> [ 'title' => ['type' => 'text']、 'content' => ['type' => 'text'] ] ] ] ]; $ response = $ client-> indices() - > create($ params);
上記のコードは、「my_index」と呼ばれるインデックスを作成し、「タイトル」および「コンテンツ」フィールドのテキストタイプのマッピングを定義します。ニーズに応じてフィールドとデータ型をカスタマイズできます。
次に、データをインデックスに追加する必要があります。次のコードは、「タイトル」と「コンテンツ」フィールドをインデックスに含むドキュメントを追加する方法を示しています。
$ params = [ 'index' => 'my_index'、 'body' => [ 「タイトル」=> 'サンプルタイトル'、 'content' => 'contentの例 ] ]; $ response = $ client-> index($ params);
このコードは、「my_index」インデックスに「タイトル」と「コンテンツ」フィールドを含むドキュメントを追加し、必要に応じてより多くのフィールドを追加できます。
データが追加されたら、検索クエリを作成してデータを取得できます。これが簡単な検索クエリの例です。
$ params = [ 'index' => 'my_index'、 'body' => [ 「クエリ」=> [ 「一貫性のある」=> [ 「タイトル」=>「例」 ] ] ] ]; $ response = $ client-> search($ params); <p>foreach($ response ['hits'] ['hits'] as $ hit){<br> echo $ hit ['_ source'] ['title']。 "\ n";<br> }<br>
このコードは、「タイトル」フィールドのマッチクエリを作成し、一致するドキュメントタイトルを出力します。
PHPとElasticSearchを組み合わせることにより、迅速かつ効率的に近い時間検索機能を可能にします。この記事では、ElasticSearchのインストールと構成からElasticSearchの接続、インデックスの作成、ドキュメントの追加、および検索操作の実行までの完全なプロセスについて説明します。この記事が、ElasticSearchをWebアプリケーションに統合し、スムーズな検索エクスペリエンスを実現する方法をよりよく理解できるようにすることを願っています。