Solrのインストール

Unix互換またはWindowsサーバーへのSolrのインストールは、通常、ダウンロードパッケージを抽出(または解凍)するだけで済みます。

Solrを起動する前に、必ずシステム要件を確認してください。

利用可能なSolrパッケージ

SolrはSolrのWebサイトから入手できます。最新リリースをhttps://solr.dokyumento.jp/downloads.htmlからダウンロードしてください。

3つの個別のパッケージがあります。

  • solr-9.5.0.tgz フルバイナリパッケージ。すべてのオペレーティングシステム用。このパッケージには、すべてのファーストパーティSolrモジュールとアクセサリ(例:prometheus-exporter)が含まれています。

  • solr-9.5.0-slim.tgz スリムバイナリパッケージ。すべてのオペレーティングシステム用。このパッケージには、Solrを実行するために必要なもののみが含まれています。モジュールとアクセサリ(例:prometheus-exporter)は含まれていません。

  • solr-9.5.0-src.tgz Solrソースコードのパッケージ。これは、公式のGitリポジトリを使用せずにSolrで開発する場合に役立ちます。

フルバイナリとスリムバイナリを利用する2つのDockerイメージが提供されています。それらの使用方法については、DockerでのSolrページを参照してください。

インストールの準備

Solrを使い始めるには、Solrディストリビューションアーカイブを任意のディレクトリに展開するだけです。これで最初の開発環境としては十分ですが、真の開発環境と本番環境をセットアップする前に、この「おもちゃ」のインストールに過負荷をかけないように注意してください。

Solrの最初の評価を終えたら、実装を計画するように注意する必要があります。別のサーバーにSolrを再インストールするか、クラスタ化されたSolrCloud環境を作成する必要がある場合があります。

Solrを本番環境用にセットアップする準備ができたら、Solrの本番環境への移行ページに記載されている手順を参照してください。

必要なサーバーのサイズは?

Solrインストールのサイズを決定する方法は、ドキュメントの数と構造、保存するフィールドの数、ユーザー数など、多くの要因に依存する複雑な問題です。

Solrの実装に対するハードウェアのサイジングに影響を与える要因について、少し時間をかけて検討することを強くお勧めします。検討すべき問題を論じた非常に良いブログ投稿は、抽象的なハードウェアのサイジング:なぜ決定的な答えがないのかです。

インストールを計画する際に注意すべき点として、Luceneには単一のインデックスに含めることができるドキュメント数にハードリミットが存在します。それはおよそ21億4000万ドキュメント(正確には2,147,483,647)です。実際には、これほど多数のドキュメントが単一のインデックスに収まり、かつ良好なパフォーマンスを発揮することはまずあり得ません。そのため、この数に近づく前に、クラスター全体にインデックスを分散する必要が生じるでしょう。もしインデックスを開始する前に、合計ドキュメント数がこの数を超えることがわかっているのであれば、最初から設計の一部としてSolrCloudを使用するようにインストールを計画するのが最善です。

パッケージのインストール

ここでは話を簡単にするため、Solrのディストリビューションアーカイブをローカルのホームディレクトリに展開してください。

cd ~/
tar zxf solr-9.5.0.tgz

展開が終われば、以下の「Solrの起動」セクションで説明する手順に従ってSolrを実行する準備が整います。

Windows 10以降にはtarツールが含まれています。コマンドラインウィンドウを開き、上記のコマンドを実行してください。.tarアーカイブをサポートするサードパーティの解凍ツールもいくつかあります。

ディレクトリ構成

Solrをインストールすると、次のディレクトリとファイルが含まれているのが確認できます。

bin/

このディレクトリには、Solrをより使いやすくするためのいくつかの重要なスクリプトが含まれています。

solr と solr.cmd

これはSolrの制御スクリプトで、bin/solr (*nix) / bin/solr.cmd (Windows)としても知られています。このスクリプトはSolrを起動および停止するための推奨ツールです。また、SolrCloudモードで実行する際は、コレクションやコアの作成、認証の設定、構成ファイルの操作もできます。

post

SolrにコンテンツをPOSTするためのシンプルなコマンドラインインターフェースを提供するPost Toolです。

solr.in.sh と solr.in.cmd

これらはそれぞれ*nixシステムとWindowsシステム用のプロパティファイルです。Java、Jetty、Solrのシステムレベルのプロパティはここで設定します。これらの設定の多くはbin/solr / bin/solr.cmdを使用する際に上書きできますが、これによりすべてのプロパティを1か所で設定できます。

install_solr_services.sh

このスクリプトは*nixシステムでSolrをサービスとしてインストールするために使用されます。詳細は「Solrの本番環境への移行」セクションで説明されています。

modules/

Solrのmodulesディレクトリには、Solrを強化する特別な機能のためのファーストパーティ製のアドオンが含まれています。詳細は「Solrモジュール」セクションをご覧ください。これはslimディストリビューションには含まれていません。

prometheus-exporter/

bin/の下に含まれているスタンドアロンアプリケーションで、Solrインスタンスを監視し、Prometheusメトリクスを生成します。詳細は「PrometheusとGrafanaによる監視」セクションをご覧ください。これはslimディストリビューションには含まれていません。

docker/

これには、公式イメージと互換性のあるバイナリディストリビューションからDockerイメージをビルドするためのDockerfileが含まれています。このディレクトリには、scripts/ディレクトリの下でDockerイメージ内でSolrを使用する際に必要なスクリプトも含まれています。このディレクトリにあるREADME.mdには、このバイナリディストリビューションを使用してカスタムSolr Dockerイメージを構築する方法が説明されています。Solr Dockerイメージの使用に関する情報は「DockerでのSolr」のページを参照してください。

lib/

Solrが追加のプラグインjarファイルを検索するフォルダです。

dist/

distディレクトリには、メインのSolr .jarファイルが含まれています。

docs/

docsディレクトリには、SolrのオンラインJavadocsへのリンクが含まれています。

example/

exampleディレクトリには、Solrのさまざまな機能を実証するいくつかの種類の例が含まれています。このディレクトリの内容の詳細については、以下の「Solrの例」セクションを参照してください。

licenses/

licensesディレクトリには、Solrのディストリビューションで使用されているサードパーティライブラリのすべてのライセンスが含まれています。

server/

このディレクトリはSolrアプリケーションの中核となる部分です。このディレクトリにあるREADMEに詳細な概要が記載されていますが、以下にいくつかのハイライトを示します。

  • SolrのAdmin UI & JARファイル (server/solr-webapp)

  • Jettyライブラリ (server/lib)

  • ログファイル (server/logs) とログ構成 (server/resources)。Solrのデフォルトロギングをカスタマイズする方法の詳細については、「ロギングの構成」セクションを参照してください。

  • サンプルconfigset (server/solr/configsets)

Solrの例

完全なSolrディストリビューションには、開始時に使用できる多数のサンプルドキュメントと構成が含まれています。もしSolrチュートリアルを進めたことがあれば、すでにこれらのファイルのいくつかに触れたことがあるはずです。

以下はSolrに含まれている例です。

exampledocs

これは、Solrを初めて使用する際にbin/solr postで使用できる、シンプルなCSV、XML、およびJSONファイルの小さなセットです。これらのファイルでbin/solr postを使用する方法の詳細については、「Post Tool」を参照してください。

files

filesディレクトリには、ローカルに保存されているWordやPDFなどのドキュメント用の基本的な検索UIが用意されています。この例の使用方法の詳細については、そこにあるREADMEを参照してください。

films

filmsディレクトリには、映画に関する豊富なデータセットがCSV、XML、およびJSONの3つの形式で含まれています。このデータセットの使用方法の詳細については、そこにあるREADMEを参照してください。

Solrの起動

Solrには、bin/solr(Linux/MacOS)またはbin\solr.cmd(Windows)と呼ばれるコマンドラインインターフェースツールが含まれています。このツールを使用すると、Solrの起動と停止、コアとコレクションの作成、認証の構成、システムのステータスの確認を行うことができます。

Solrを起動するには、次のように入力します。

bin/solr start

Windowsを使用している場合は、代わりにbin\solr.cmdを実行してSolrを起動できます。

bin\solr.cmd start

これにより、Solrがバックグラウンドで起動し、ポート8983でリッスンします。

Solrをバックグラウンドで起動すると、スクリプトはSolrが正常に起動したことを確認してから、コマンドラインプロンプトに戻ります。

Solr CLIのすべてのオプションについては、「Solr制御スクリプトリファレンス」セクションで説明しています。

特定のバンドルされた例でSolrを起動する

Solrには、主要な機能について学ぶのに役立つ便利な例も多数用意されています。-eフラグを使用して例を起動できます。たとえば、「techproducts」の例を起動するには、次のようにします。

bin/solr -e techproducts

現在実行できる例は、techproducts、schemaless、およびcloudです。各例の詳細については、「サンプル構成での実行」セクションを参照してください。

SolrCloudの開始
cloudの例を実行すると、SolrがSolrCloudモードで起動します。SolrCloudモードでのSolrの起動の詳細については、「SolrCloud入門」セクションを参照してください。

Solrが実行中かどうかを確認する

Solrがローカルで実行されているかどうか不明な場合は、statusコマンドを使用できます。

bin/solr status

これにより、コンピュータ上で実行中のSolrインスタンスが検索され、バージョンやメモリ使用量などの基本情報が収集されます。

以上で完了です!Solrが実行されています。念のため、Webブラウザで管理コンソールを確認してください。

https://127.0.0.1:8983/solr/

Solr’s Admin UI
図1. Solr管理インターフェース。

Solrが実行されていない場合、ブラウザはサーバーに接続できないというエラーを表示します。ポート番号を確認して、もう一度やり直してください。

コアの作成

サンプル構成でSolrを起動しなかった場合は、インデックスを作成して検索できるようにするためにコアを作成する必要があります。これを行うには、次のように実行します。

bin/solr create -c <name>

これにより、インデックスにドキュメントを追加するときに正しいフィールドタイプを推測しようとするデータ駆動型スキーマを使用するコアが作成されます。

新しいコアを作成するための利用可能なすべてのオプションを確認するには、次を実行します。

bin/solr create -help