Solariumは、SolRを除去する抽象化層を提供し、SolRをローカル検索の実装として登場させることで開発を簡素化します。
ディレクトリを書くことができるようにします。作曲家経由でソラリウムをインストールします:
(または、Githubからダウンロードまたはクローンをダウンロードしてください。)これを
ファイルに追加します。composer create-project laravel/laravel movie-search --prefer-dist
ソラリウム構成:app/storage
"solarium/solarium": "dev-develop"
)を作成します:composer.json
簡単にするには、コントローラープロパティとしてSolariumクライアントインスタンスを作成します(
app/config/solr.php
return array( 'host' => '127.0.0.1', 'port' => 8983, 'path' => '/solr/', );
app/controllers/HomeController.php
pingクエリを使用して、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 }
:
を使用します検索インデックスの入力:
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 PopulateSearchIndexCommand
:app/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 サイトの他の関連記事を参照してください。