ホームページ > バックエンド開発 > PHPチュートリアル > 検索にsolrでソラリウムを使用 - ソラリウムとGUI

検索にsolrでソラリウムを使用 - ソラリウムとGUI

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-21 09:49:08
オリジナル
234 人が閲覧しました

Using Solarium with SOLR for Search - Solarium and GUI

この記事は、4部構成のシリーズの2番目の記事で、検索機能のためにSolariumを使用したSolariumを使用した詳細です。 最初の部分では、コアの概念、インストール、セットアップをカバーしました。この部品は、ソラリウムの設置、サンプルアプリケーションの構築、検索インデックスの入力、検索クエリの準備に焦点を当てています。

重要な概念:

Solariumは、SolRを除去する抽象化層を提供し、SolRをローカル検索の実装として登場させることで開発を簡素化します。
    ソラリウムを接続するには、SOLRサーバーにホスト、ポート、パスの詳細を提供する必要があります。
  • Solariumは、更新クエリインスタンスを使用してドキュメントの追加、更新、削除を簡素化します。 更新は、同じ一意の識別子を使用した「再添加」ドキュメントによって処理されます。 このガイドは、アプリケーションの作成、ソラリウム構成、Pingクエリ、サンプルデータの追加、およびインデックス母集団の検索を進めます。 また、Laravelのブレードテンプレートを使用して検索フォームの作成を示しています。
  • アプリケーションの作成とソラリウムのインストール:
  • 新しいLaravelアプリケーションを作成します:

ディレクトリを書くことができるようにします。作曲家経由でソラリウムをインストールします:

(または、Githubからダウンロードまたはクローンをダウンロードしてください。)これを

ファイルに追加します。
composer create-project laravel/laravel movie-search --prefer-dist
ログイン後にコピー
ログイン後にコピー

ソラリウム構成:app/storage

"solarium/solarium": "dev-develop"
ログイン後にコピー
構成ファイル(

)を作成します:composer.json

簡単にするには、コントローラープロパティとしてSolariumクライアントインスタンスを作成します():

(大規模なLaravelアプリでは、サービスプロバイダーが推奨されます。)

app/config/solr.php

pingクエリとサンプルデータ:
return array(
    'host'      => '127.0.0.1',
    'port'      => 8983,
    'path'      => '/solr/',
);
ログイン後にコピー

app/controllers/HomeController.phppingクエリを使用して、solrアクセシビリティを確認します:

    protected $client;

    public function __construct()
    {
        $this->client = new \Solarium\Client(Config::get('solr'));
    }
ログイン後にコピー

サンプルムービーCSVファイル(2000枚の映画を含む)が必要です。 ダウンロードすることも、Rotten Tomatoes APIを使用することもできます(IMDBデータも利用できますが、それほど便利ではありません)。

ドキュメントの追加、更新、削除:

ドキュメントの追加:

$ping = $client->createPing();
try {
    $result = $client->ping($ping);
} catch (Solarium\Exception $e) {
    // Handle SOLR inaccessibility
}
ログイン後にコピー
更新には、同じIDで再追加する必要があります。 削除は

を使用します

検索インデックスの入力:

CSVデータをインポートするためにLaravelコマンド(
$update = $client->createUpdate();
$doc = $update->createDocument();
$doc->id = 123;
$doc->title = 'Some Movie';
$update->addDocument($doc);
$update->addCommit();
$result = $client->update($update);
ログイン後にコピー
)を作成します。

では、addDeleteQueryメソッドを使用してCSVを読み取り、ソラリウムドキュメントを作成し、インデックスを付けます。 (提供されたコードの例には、このプロセスが表示されます。)コマンドを実行します:

$update = $client->createUpdate();
$update->addDeleteQuery('id:123'); // Or use wildcards: 'title:test*'
$update->addCommit();
$result = $client->update($update);
ログイン後にコピー

検索フォーム(Laravel blade):

php artisan command:make PopulateSearchIndexCommandapp/commands/PopulateSearchIndexCommand.phpで検索フォームを作成します

composer create-project laravel/laravel movie-search --prefer-dist
ログイン後にコピー
ログイン後にコピー

(元の例に示すように、app/views/layouts/default.blade.phpの基本的なレイアウトとapp/routes.phpのルーティングも必要です。)

結論:

この記事では、SolariumとSolRを使用して検索メカニズムを構築するための段階を設定します。次のパートでは、実際の検索機能の実装について説明します。 提供されたFAQセクションは、既に提供されている詳細な説明を考慮して冗長であるため省略されています。

以上が検索にsolrでソラリウムを使用 - ソラリウムとGUIの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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