ホームページ  >  記事  >  バックエンド開発  >  PHP と Elasticsearch を使用して効率的なフィルタリング機能を構築する方法

PHP と Elasticsearch を使用して効率的なフィルタリング機能を構築する方法

王林
王林オリジナル
2023-07-17 12:51:101355ブラウズ

PHP と Elasticsearch を使用して効率的なフィルタリング関数を構築する方法

はじめに:
Elasticsearch は、効率的な検索エンジンや大規模なデータ フィルタリング関数を構築する場合に非常に強力なソリューションです。これは分散検索エンジンをベースにしたオープンソース ツールで、大量のデータを迅速に処理し、豊富なクエリおよびフィルタリング機能を提供し、PHP を介して対話することもできます。この記事では、Elasticsearch のインストールと設定、PHP と Elasticsearch を使用したデータ フィルタリングなど、PHP と Elasticsearch を使用して効率的なフィルタリング機能を構築する方法を紹介します。

1. Elasticsearch のインストールと構成

  1. Java のインストール: Elasticsearch は Java に基づいて作成されているため、最初に Java をインストールする必要があります。公式 Java Web サイトから Java インストール パッケージをダウンロードし、インストール ウィザードに従ってインストールできます。
  2. Elasticsearch のダウンロードと解凍: Elasticsearch 公式 Web サイトからオペレーティング システムに適した Elasticsearch 圧縮パッケージをダウンロードし、インストールする場所に解凍します。
  3. Elasticsearchの起動: Elasticsearchの解凍ディレクトリに入り、コマンドbin/elasticsearchを実行してElasticsearchを起動します。
  4. Elasticsearch が正常に開始したかどうかを確認します: ブラウザに http://localhost:9200 と入力します。次のような情報が返された場合、Elasticsearch が正常に開始されたことを意味します。

    {
      "name" : "Node-1",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "42n3GoOpQkm7Bs6NOEXf0A",
      "version" : {
     "number" : "7.15.1",
     "build_flavor" : "default",
     "build_type" : "zip",
     "build_hash" : "unknown",
     "build_date" : "2022-10-26T18:07:47.101138203Z",
     "build_snapshot" : false,
     "lucene_version" : "8.10.1",
     "minimum_wire_compatibility_version" : "6.8.0",
     "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }

2. データ フィルタリングに PHP と Elasticsearch を使用する

  1. Elasticsearch PHP クライアントをインストールする: Composer を使用して PHP Elasticsearch クライアント ライブラリをインストールします。ターミナルで次のコマンドを実行します:

    composer require elasticsearch/elasticsearch
  2. PHP ファイルを作成し、Elasticsearch PHP クライアント ライブラリをインポートします:

    require 'vendor/autoload.php';
    use ElasticsearchClientBuilder;
  3. Elasticsearch に接続します:

    $client = ClientBuilder::create()->build();
  4. インデックスとマッピングを作成します:

    $params = [
     'index' => 'my_index',
     'body' => [
         'mappings' => [
             'properties' => [
                 'name' => ['type' => 'text'],
                 'age' => ['type' => 'integer']
             ]
         ]
     ]
    ];
    $response = $client->indices()->create($params);
  5. いくつかのドキュメントを追加します:

    $params = [
     'index' => 'my_index',
     'body' => [
         ['index' => ['_index' => 'my_index']],
         ['name' => 'John Doe', 'age' => 25],
         ['index' => ['_index' => 'my_index']],
         ['name' => 'Jane Smith', 'age' => 30]
     ]
    ];
    $response = $client->bulk($params);
  6. フィルターデータ:

    $params = [
     'index' => 'my_index',
     'body' => [
         'query' => [
             'bool' => [
                 'must' => [
                     ['match' => ['name' => 'John']]
                 ]
             ]
         ]
     ]
    ];
    $response = $client->search($params);
    print_r($response);

概要:
上記の手順により、Elasticsearch のインストールと構成が正常に完了し、PHP と Elasticsearch を使用して単純なフィルタリング機能を構築しました。 Elasticsearch の強力なクエリおよびフィルタリング機能により、さまざまな条件に基づいて大規模なデータを迅速にフィルタリングおよび検索できます。この記事がお役に立ち、この知識を将来のプロジェクトに応用していただけることを願っています。

以上がPHP と Elasticsearch を使用して効率的なフィルタリング機能を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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