Elasticsearch と PHP を使用して複数条件検索関数を構築する方法
はじめに:
Elasticsearch は、強力な検索関数を構築するためによく使用されるオープンソースの分散型検索および分析エンジンです。高速かつ正確な検索を可能にし、さまざまな種類のクエリをサポートします。この記事では、Elasticsearch と PHP を使用して複数条件検索関数を構築する方法と、対応するコード例を紹介します。
{ "require": { "elasticsearch/elasticsearch": "^7.0" } }
次に、composer install
コマンドを実行して、Elasticsearch PHP 拡張機能をインストールします。
<?php require 'vendor/autoload.php'; use ElasticsearchClientBuilder; $hosts = [ 'http://localhost:9200' // Elasticsearch的访问地址 ]; $client = ClientBuilder::create()->setHosts($hosts)->build(); ?>
まず、インデックスの構成とマッピングを定義します。たとえば、「articles」というインデックスを作成し、「article」タイプを定義し、「title」フィールドと「content」フィールドのタイプを指定します。
<?php $params = [ 'index' => 'articles', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => ['type' => 'text'], 'content' => ['type' => 'text'] ] ] ] ]; $response = $client->indices()->create($params); ?>
次に、ドキュメントをインデックスに追加します。たとえば、「ニュース」というタイトルのドキュメントを追加します。
<?php $params = [ 'index' => 'articles', 'body' => [ 'title' => '新闻', 'content' => '这是一条新闻' ] ]; $response = $client->index($params); ?>
<?php $params = [ 'index' => 'articles', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ ['match' => ['title' => '新闻']], ['match' => ['content' => '国际']] ] ] ] ] ]; $response = $client->search($params); ?>
最後に、検索結果を繰り返し処理し、各ドキュメントのタイトルとコンテンツを出力します。 :
<?php foreach ($response['hits']['hits'] as $hit) { echo '标题:' . $hit['_source']['title'] . '<br>'; echo '内容:' . $hit['_source']['content'] . '<br>'; echo '----------------<br>'; } ?>
結論:
上記の手順により、Elasticsearch と PHP を使用して複数条件検索関数を構築できます。まず、Elasticsearch と対応する PHP 拡張機能をインストールして構成し、次に Elasticsearch に接続してインデックスを作成し、最後に複数条件検索を実行して検索結果を処理します。
注: 検索の精度とパフォーマンスを確保するために、複数条件検索を使用する前に、適切な単語セグメンターの設定、インデックスの構築など、インデックスを最適化することをお勧めします。
参考資料:
以上がElasticsearch と PHP を使用して複数条件検索機能を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。