ホームページ PHPフレームワーク ThinkPHP ThinkPHP6 で Elasticsearch を使用する方法

ThinkPHP6 で Elasticsearch を使用する方法

Jun 20, 2023 pm 12:09 PM
thinkphp elasticsearch チュートリアル

現在のインターネット時代では、大量のデータが爆発的に増加しており、検索エンジンの重要性がますます高まっています。 Elasticsearch は、拡張性の高い全文検索エンジンとして、開発者にとって検索問題を解決するための最初の選択肢となりつつあります。
この記事では、ThinkPHP6 で Elasticsearch を使用してデータ取得および検索機能を実装する方法を紹介します。それでは始めてみましょう。

ステップ 1: elasticsearch-php のインストール
composer を使用して公式 elasticsearch-php ライブラリをインストールします

composer require elasticsearch/elasticsearch
ログイン後にコピー

その後、configuresearch.php ファイルに Elasticsearch 接続構成情報を書き込む必要があります

return [
    'host' => ['your.host.com'],
    'port' => 9200,
    'scheme' => 'http',
    'user' => '',
    'pass' => ''
];
ログイン後にコピー

ここにはパスワードがないことに注意してください。オンラインでデプロイする場合は、パスワードを追加し、接続が安全であることを確認するために https を使用して接続する必要があります。

ステップ 2: laravel-scout のインストール
laravel-scout は、Laravel 用の Eloquent ORM 全文検索拡張パッケージです。Elasticsearch の統合を実現するには、ThinkPHP6 にインストールする必要があります。インストールするには、次のコマンドを使用します。 :

composer require laravel/scout
ログイン後にコピー

ステップ 3: laravel-scout-elastic パッケージをインストールする
ThinkPHP6 では、Elasticsearch に接続するために拡張パッケージ laravel-scout-elastic を使用する必要があります。同様に、次のコマンドを使用してインストールします。

composer require babenkoivan/scout-elasticsearch-driver:^7.0
ログイン後にコピー

app.php でスカウトとエラスティック ドライバーを構成します

return [
    'providers' => [
        //...
        LaravelScoutScoutServiceProvider::class,
        ScoutElasticsearchElasticsearchServiceProvider::class,
        //...
    ],
    'aliases' => [
        //...
        'Elasticsearch' => ScoutElasticsearchFacadesElasticsearch::class,
        //...
    ],
];
ログイン後にコピー

次に、次のように configscout.php でモデルの検索エンジンを構成します。 # #

'searchable' => [
        AppModelsModel::class => [
            'index' => 'model_index',
            'type' => 'model_type'
        ],
    ],
ログイン後にコピー

上記の構成は、Model::class モデル オブジェクトを使用してデータを取得し、Model::class オブジェクトに対応するインデックス名を model_index として、タイプを model_type として定義することを示しています。

ステップ 4: 検索ロジックを定義する

Model クラスで Searchable トレイトを使用し、次のようにパブリック関数 toSearchableArray() 関数を宣言します。

<?php

namespace AppModels;

use LaravelScoutSearchable;

class Model extends Model
{
    // 使用scout可搜索的trait
    use Searchable;
    
    // 返回可被搜索的模型数据
    public function toSearchableArray()
    {
        return [
            'title' => $this->title,
            'content' => $this->content
        ];
    }
ログイン後にコピー

toSearchableArray() 関数が使用されます。検索可能なデータ フィールドを返すために、ここではタイトル フィールドとコンテンツ フィールドの例を示します。

ステップ 5: 検索関連 API

最後に、検索結果リスト、検索統計などの検索関連 API を作成します。そのためには、公式の Elasticsearch API をある程度理解している必要があります。詳細については、Elasticsearch の公式ドキュメントを参照してください。

たとえば、検索結果リスト API のコードは次のようになります。

use ElasticsearchClientBuilder;

class SearchController extends Controller
{
    //搜索结果列表
    public function list(Request $request)
    {
        $searchQuery = $request->input('q'); //搜索关键字

        //搜索操作
        $elasticsearch = ClientBuilder::create()->setHosts(config('elasticsearch.host'))->build();
        $response = $elasticsearch->search([
            'index' => 'model_index', // 索引名称
            'type' => 'model_type',   // 类型
            'size' => 1000,
            'body' => [
                'query' => [
                    'bool' => [
                        'should' => [
                            ['match' => ['title' => $request->input('q')]],
                            ['match' => ['content' => $request->input('q')]]
                        ]
                    ]
                ]
            ]
        ]);

        //格式化返回结果
        $result = [];
        foreach ($response['hits']['hits'] as $hit) {
            //搜索评分
            $hit['_score'];
            //搜索到的数据
            $result[] = $hit['_source'];
        }

        return json_encode($result);
    }
}
ログイン後にコピー
上記のコードは、Elasticsearch によって公式に提供されている ElasticsearchClientBuilder クラスを使用して、接続を作成し、キーワードをクエリし、取得します。結果リスト。この API の

$request->input('q') は、任意のキーワードに置き換えることができます。

記事はここで終わります 基本的にはElasticsearchを使って検索機能を実装できると思います。実際に問題が発生した場合は、公式ドキュメントを参照するか、問題を提起して詳細なサポートを求めてください。

以上がThinkPHP6 で Elasticsearch を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Samsung Galaxy Buds Pro Bluetooth ヘッドセットのペアリング ガイドと使用方法のチュートリアル Samsung Galaxy Buds Pro Bluetooth ヘッドセットのペアリング ガイドと使用方法のチュートリアル Dec 30, 2023 pm 03:44 PM

Samsung の Galaxy Buds シリーズのヘッドフォンは、人間工学に基づいて独自に設計されており、非常に快適な装着感を実現しています。 Samsung Buds シリーズのヘッドフォンは、快適な装着感に加えて、優れた音質体験も提供し、多くのユーザーを魅了しています。次に、Samsung Buds ヘッドフォンの使用チュートリアル、特に Samsung Galaxy Buds Pro Bluetooth ヘッドフォンと携帯電話のペアリング プロセスを紹介します。 Samsung Galaxy Buds Pro Bluetooth ヘッドセットのペアリング方法 Samsung Buds ヘッドセットとのペアリングは非常に簡単で、以下の手順に従ってペアリングを完了します。最初のステップは、電話機の Bluetooth 機能をオンにすることです。 Bluetooth 設定オプションは、携帯電話の設定インターフェイスにあります。ステップ 2: GalaxyBu を配置します。

Aisi Assistant の使い方 - Aisi Assistant 使い方チュートリアル Aisi Assistant の使い方 - Aisi Assistant 使い方チュートリアル Mar 06, 2024 pm 12:10 PM

初心者の友達の多くは Aisi Assistant の使い方をまだ知りません。そのため、以下のエディターが Aisi Assistant の使い方に関するチュートリアルを提供しました。必要な友達はすぐに見ることができます。 1. 操作インターフェイス、必要なコンポーネントがインストールされているかどうかを確認します (下図を参照); 2. 私のデバイス ウィンドウ、関連する説明情報を読みます (下図を参照); 3. リンクを作成できない場合は、次のとおりです。関連する操作の手順 (下図を参照); 4. ゲーム ウィンドウを使用して、関連する人気ゲームの体験をすばやく完了します (下図を参照); 5. 使用する必要があるさまざまな着信音をダウンロードして選択します(下図に示すように); 6. さまざまな高解像度の壁紙をすばやくダウンロードします (下図に示すように); 7. root 化とジェイルブレイクの機能をサポートします (下図に示すように)。その上

エグゼスコープの使い方は?詳しい使い方チュートリアル エグゼスコープの使い方は?詳しい使い方チュートリアル Mar 13, 2024 pm 10:40 PM

exescope は、ソフトウェアの英語版を中国語版に簡単に変換できる強力なプログラム リソース編集ツールです。あなたも初心者ユーザーであれば、以下の詳細なチュートリアルを参照してください。 Exescope の使い方チュートリアル 1. eXeScope を開き、左上のファイルをクリックし、ポップアップ オプションの [開く] をクリックして、開きたいファイルを選択します。 2. ソフトウェアを開くと、多くのコントロールが表示されます。 3. データを入力して各コントロールのサイズ、位置、内容を直接変更することも、上のダイアログ ボックス エディタ上で直接クリックしてプログラム インターフェイス上でコントロールを直接ドラッグすることもできます。コントロールを調整したら、[保存]をクリックします。

リトルブラックボックスの使い方チュートリアル リトルブラックボックスの使い方チュートリアル Feb 23, 2024 pm 05:10 PM

Little Black Box は非常に使いやすいゲームプラットフォームですが、具体的にはどのように使用するのですか?このソフトウェアを使用すると、ユーザーは多くの問題に遭遇する可能性があり、さまざまな解決策があります。この小さなブラックボックスの多機能な使い方をまとめたチュートリアルでは、その使い方を以下に詳しく紹介しますので、ぜひご覧ください。 Little Black Box の使用に関するチュートリアル [2024-01-31] Little Black Box から購入した CD キーを引き換える方法 [2024-01-31] Little Black Box から購入したゲームを Steam に保存する方法 [2024-01- 31] Little Black Boxで購入したCDkeyは返品できますか?

Enterprise WeChat の使用方法 - Enterprise WeChat の使用に関するチュートリアル Enterprise WeChat の使用方法 - Enterprise WeChat の使用に関するチュートリアル Mar 04, 2024 pm 02:28 PM

Enterprise WeChat の使い方を知らない友人も多いので、以下のエディターが Enterprise WeChat の使い方のチュートリアルを共有します。見てみましょう。誰にとっても役に立つと思います。ステップ 1: 「Enterprise WeChat」アイコンをクリックして Enterprise WeChat に入り、メッセージ セクションでグループ チャットに参加して同僚とチャットできます (図を参照)。ステップ 2: Enterprise WeChat のメイン インターフェイスで、[連絡先帳] をクリックします (図を参照)。ステップ 3: アドレス帳セクションに入り、連絡先を表示できます (図を参照)。ステップ 4: Enterprise WeChat のメイン インターフェイスで、[ワークベンチ] をクリックします (図を参照)。ステップ 5: ワークベンチ セクションに入ります。ここでは、会社の毎日の小さな作業を実行できます (図を参照)。ステップ 6: Enterprise WeChat のメイン インターフェイスで、[自分] をクリックします (図を参照)

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

Thunder マグネット リンクの使用方法 - Thunder マグネット リンクの使用に関するチュートリアル Thunder マグネット リンクの使用方法 - Thunder マグネット リンクの使用に関するチュートリアル Mar 05, 2024 pm 05:22 PM

最近、多くの友人が Thunder Magnet Links の使い方を編集者に尋ねてきました。次に、Thunder Magnet Links の使い方についてのチュートリアルを学びましょう。これが皆さんのお役に立てれば幸いです。ステップ 1: まず、図に示すように、インストールされた Thunder を開き、[新規] ボタンをクリックします。ステップ 2: 次に、インターネット上でマグネット リンクを見つけ、それをコピーして下の図に示す場所に貼り付け、図に示すように [OK] をクリックします。ステップ 3: リソースの詳細なダウンロード ディレクトリがポップアップ表示されるので、図に示すように、ダウンロードするリソースを確認し、保存ディレクトリを選択して、[今すぐダウンロード] をクリックします。ステップ 4: 最後に、図に示すように、リソースがダウンロードされるのを待ちます。以上、編集部がお届けしたThunderマグネットリンクの使い方に関する内容でしたので、皆様のお役に立てれば幸いです。

ons シミュレータの使い方 - ons シミュレータの使い方チュートリアル ons シミュレータの使い方 - ons シミュレータの使い方チュートリアル Mar 04, 2024 pm 01:10 PM

最近、多くの友人から ons シミュレーターの使い方を尋ねられます。次に、ons シミュレーターの使い方についてのチュートリアルを学びましょう。皆さんのお役に立てれば幸いです。ステップ 1: まず、以下に示すように onscripter ツールをダウンロードします。ステップ 2: 次に、ons エミュレータ ゲームをダウンロードします。ステップ 3: 次に、ダウンロードしたシミュレーターの onscripter.exe ファイルをゲーム ディレクトリに直接ドラッグし、onscripter.exe をダブルクリックして開きます。ステップ 4: ゲームを直接実行します。以上、編集者がお届けするonsシミュレーターの使い方に関する内容でしたので、皆様のお役に立てれば幸いです。

See all articles