php Elasticsearchを使用して複数フィールドの結合クエリを実装するにはどうすればよいですか?
php Elasticsearch を使用して複数フィールドの組み合わせクエリを実装するにはどうすればよいですか?
はじめに:
Elasticsearch は、Lucene に基づく分散型オープン ソース検索エンジンであり、高速で信頼性の高い全文検索機能を提供し、大規模データの保存、取得、分析をサポートします。この記事では、php Elasticsearch ライブラリを使用して複数フィールドの結合クエリを実装し、さまざまな検索ニーズをより適切に満たす方法を検討します。
1. Elasticsearch のインストールと設定
php Elasticsearch ライブラリを使用するには、まず Elasticsearch をインストールして設定する必要があります。公式 Web サイトから Elasticsearch をダウンロードしてインストールし、実行されていることを確認できます。
2. php Elasticsearch ライブラリをインストールする
Composer を使用して php Elasticsearch ライブラリをインストールできます。プロジェクトのルート ディレクトリにcomposer.json ファイルを作成し、次の内容を追加します。
{
"require": {
"elasticsearch/elasticsearch": "^7.0"
}
}
次に、コマンド ライブラリをインストールする行で次のコマンドを実行します:
composer install
3. Elasticsearch に接続
次に、Elasticsearch に接続するためのクライアントを PHP コードで作成します。ファイルの先頭に次のコードを追加します:
require 'vendor/autoload.php';
$client = new ElasticsearchClient();
4. Index
検索対象のデータをインデックスに格納します。ここで、書籍情報を保存するとします。次のスニペットを PHP コードに追加します:
$params = [
'index' => 'books', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => [ 'type' => 'text' ], 'author' => [ 'type' => 'text' ], 'category' => [ 'type' => 'keyword' ] ] ] ]
];
$response = $client->indices()->create( $params);
これにより、「books」という名前のインデックスが作成され、「title」、「author」、「category」の 3 つのフィールドが定義されます。
5. ドキュメントの追加
検索対象のドキュメントをインデックスに追加します。次のスニペットを PHP コードに追加します:
$params = [
'index' => 'books', 'id' => '1', 'body' => [ 'title' => 'The Great Gatsby', 'author' => 'F. Scott Fitzgerald', 'category' => 'Fiction' ]
];
$response = $client->index($params);
6. 複数フィールドの組み合わせクエリを実行する
これで、複数フィールドの組み合わせクエリを実行する準備が整いました。次のスニペットを PHP コードに追加します:
$params = [
'index' => 'books', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ ['match' => ['title' => 'great']], ['match' => ['author' => 'fitzgerald']] ] ] ] ]
];
$response = $client->search($params);
上記のコードでは、ブール クエリを使用して複数フィールドの組み合わせクエリを表しています。 Must 句では、2 つの match 句を使用して、それぞれ「タイトル」フィールドと「作成者」フィールドを照合します。これは、両方の条件を満たすドキュメントのみが取得されることを意味します。
7. 検索結果の処理
検索結果には、クエリ条件を満たすすべてのドキュメントが含まれます。検索結果を処理するには、PHP コードに次のスニペットを追加します:
foreach ($response['hits']['hits'] as $hit) {
echo $hit['_source']['title']; echo $hit['_source']['author']; echo $hit['_source']['category']; echo "
";
}
8. 概要
この記事では、php Elasticsearch ライブラリを使用して複数フィールドの結合クエリを実装する方法を紹介しました。Elasticsearch のインストールと構成、php Elasticsearch ライブラリのインストール、への接続について説明しました。 Elasticsearch とインデックスの作成、ドキュメントの追加、および複数フィールドの組み合わせクエリの実行。php Elasticsearch ライブラリを使用すると、Elasticsearch を簡単に操作し、さまざまな検索ニーズを満たすことができます。
コード サンプルの概要.PNG
The上記はphpの使い方とElasticsearchで複数フィールドの組み合わせクエリを実装するための詳細な手順とサンプルコードです。
以上がphp Elasticsearchを使用して複数フィールドの結合クエリを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
