Elasticsearch に基づく PHP でのドキュメント検索に関する FAQ

王林
リリース: 2023-10-03 08:08:01
オリジナル
1127 人が閲覧しました

PHP 中基于 Elasticsearch 进行文档检索的常见问题解答

PHP での Elasticsearch に基づくドキュメント検索に関する FAQ

はじめに
Elasticsearch は、高速なドキュメント検索と分析スキルを提供するオープンソースの分散型検索エンジンです。 PHP で Elasticsearch を使用したドキュメントの取得は一般的な要件です。この記事では、いくつかのよくある質問に答え、具体的なコード例を示します。

質問 1: Elasticsearch PHP クライアントをインストールするにはどうすればよいですか?
Composer を使用して Elasticsearch PHP クライアントをインストールできます。Composer を使用すると、依存関係の管理が簡素化されます。まず、composer.json ファイルをプロジェクトのルート ディレクトリに作成し、次の内容を追加します:

{
  "require": {
    "elasticsearch/elasticsearch": "^6.0"
  }
}
ログイン後にコピー

次に、ターミナルで次のコマンドを実行して、Elasticsearch PHP クライアントをインストールします:

composer install
ログイン後にコピー

Thisこのように、Elasticsearch PHP クライアントはプロジェクトのベンダー ディレクトリにインストールされます。

質問 2: Elasticsearch サーバーに接続するにはどうすればよいですか?
Elasticsearch サーバーに接続するには、Elasticsearch PHP クライアントが提供する ElasticsearchClient クラスを使用する必要があります。まず、Elasticsearch クライアントの自動読み込みファイルをコードに導入する必要があります:

require 'vendor/autoload.php';
ログイン後にコピー

次に、コードで Elasticsearch クライアントをインスタンス化します:

$client = ElasticsearchClientBuilder::create()->build();
ログイン後にコピー

これにより、Elasticsearch サーバーに正常に接続されます。 。

質問 3: インデックスとマッピングを作成するにはどうすればよいですか?
Elasticsearch では、インデックスはドキュメントが保存および取得される場所であり、マッピングはドキュメントの構造を定義します。まず、新しいインデックスを作成する必要があります。

$params = [
    'index' => 'my_index',
];
$response = $client->indices()->create($params);
ログイン後にコピー

次に、インデックスのマッピングを定義します。以下に例を示します。

$params = [
    'index' => 'my_index',
    'body' => [
        'mappings' => [
            'properties' => [
                'title' => [
                    'type' => 'text',
                ],
                'content' => [
                    'type' => 'text',
                ],
                'author' => [
                    'type' => 'keyword',
                ],
            ],
        ],
    ],
];
$response = $client->indices()->putMapping($params);
ログイン後にコピー

このようにして、インデックスとマッピングが正常に作成されます。

質問 4: ドキュメントのインデックスを作成するにはどうすればよいですか?
ドキュメントにインデックスを付けるには、インデックスを付けるドキュメントとインデックスの名前を指定する必要があります。以下に例を示します。

$params = [
    'index' => 'my_index',
    'body' => [
        'title' => 'The Quick Brown Fox',
        'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'author' => 'John Doe',
    ],
];
$response = $client->index($params);
ログイン後にコピー

このようにして、ドキュメントは正常にインデックス付けされます。

質問 5: 基本的なドキュメント検索を実行するにはどうすればよいですか?
ドキュメントの取得を実行するには、取得するコンテンツとインデックスの名前を指定する必要があります。以下に例を示します。

$params = [
    'index' => 'my_index',
    'body' => [
        'query' => [
            'match' => [
                'title' => 'quick brown',
            ],
        ],
    ],
];
$response = $client->search($params);
ログイン後にコピー

このようにして、一致するドキュメントが返されます。

結論
この記事では、PHP の Elasticsearch に基づくドキュメント検索における一般的な問題を紹介し、具体的なコード例を示します。これらの回答が、ドキュメント検索に Elasticsearch を使用する開発者にとって役立つことを願っています。

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

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