4. Solrのセットアップ¶
IM-ContentsSearch を利用するための Solr のセットアップ方法について説明します。
4.1. 前提条件¶
- リリースノートに記載されているシステム要件を満たしている必要があります。
- 詳細は「リリースノート」-「Apache Solr システム要件」を参照してください。
注意
Solr はディスクアクセスが大量に発生する場合があります。そのため、intra-mart Accel Platform がセットアップされたサーバと同一筐体に構築した場合、パフォーマンスに影響が出る可能性があります。運用環境では intra-mart Accel Platform と Solr を別サーバに構築することを強く推奨します。注意
Solr における最適化処理では、一時的に登録されている全データを複製します。そのため、最適化処理時には、Solrサーバ上で、通常使用しているディスク容量の2倍以上のディスクの空き容量を必要としますので、注意してください。
4.2. セットアップ手順¶
IM-ContentsSearch では、Solr のセットアップ資材を提供しています。
- アプリケーションサーバ「Jetty」を利用した構築および起動
コラム
2021 Spring(Bergamot) からアプリケーションサーバは同梱されている Jetty を使用します。Resin/Tomcat/Payara へデプロイするためのセットアップツールは提供しなくなりました。
4.2.1. セットアップ資材の取得・展開¶
セットアップ資材の取得
Solr のセットアップ資材を取得します。セットアップツールは以下のURLよりダウンロードできます。ダウンロードには製品のライセンスキーが必要です。セットアップツールの展開(解凍)
セットアップ資材のファイル <solr.zip> を取得後、任意のパスに展開します。本書では、例として以下のディレクトリを指定します。
Windowsの場合
C:\solrLinuxの場合
/usr/local/solrセットアップ資材のファイルを展開したディレクトリを、以下 %SOLR_SETUP_HOME% と略します。
4.2.2. サーバのセットアップ¶
コラム
Solr にはインストールスクリプト(install_solr_service.sh)も用意されていますが、ここでは手動による導入手順を紹介します。なお、Apache Software Foundation の Web サイトには Solr のセットアップ手順についても記載されていますので、併せてご活用ください。
稼働ユーザのセットアップ
Solr を root として実行することは推奨されないため、Solr の稼働ユーザを作成してください。また、稼働ユーザを %SOLR_SETUP_HOME% ディレクトリの所有者に設定し、%SOLR_SETUP_HOME%/bin/solr スクリプトの実行権限を付与してください。環境変数のセットアップ
環境に合わせて調整してください。
Windows 環境で使用するインクルードファイル
%SOLR_SETUP_HOME%\bin\solr.in.cmdLinux 環境で使用するインクルードファイル
%SOLR_SETUP_HOME%/bin/solr.in.sh以下に主要な環境変数を記載します。
環境変数 説明 SOLR_JETTY_HOST Solr がバインドするネットワークインタフェースを設定します。デフォルトは 127.0.0.1 のため、外部から Solr にアクセスできません。なお、Solr はオープンなネットワーク上に公開されるように設計されていませんので、最小限の範囲で公開することを推奨します。※intra-mart Accel Platform から Solr にアクセスできるように設定してください。SOLR_IP_ALLOWLIST / SOLR_IP_DENYLIST ネットワーク アクセスを許可または制限する IP アドレスを指定します。SOLR_HEAP / SOLR_JAVA_MEM Solr が使用可能なメモリサイズを設定します。デフォルトは 512m (512MB)のため、環境に合わせて調整が必要です。※後述の起動引数でも指定できます。SOLR_JAVA_HOME Solr が使用する Java を設定します。※JAVA_HOME で指定された Java 以外を使用する場合に設定します。SOLR_PORT Solr がリッスンするポート番号です。デフォルトは 8983 です。※後述の起動引数でも指定できます。
4.2.3. サーバの起動と停止¶
サーバの起動
Windowsの場合
C:\solr\bin> solr.cmd startLinuxの場合
/usr/local/solr/bin/solr startコラム
Solrの起動時、以下のようなエラーが発生する場合、ポート番号の設定を変更してください。-p %PORT% と指定することで Solr が使用するポート番号を変更できます。エラーログ出力例
ERROR: Process 4 is already listening on port 8983. If this is Solr, please stop it first before starting (or use restart). If this is not Solr, then please choose a different port using -p PORTコラム
Solrの起動中、環境により OutOfMemoryError が発生することがあります。その場合、初期値である512MBよりも大きなメモリサイズを、起動時に設定してください。-m %MEMORY_SIZE% と指定することで Solr が使用可能なメモリサイズを変更できます。例えば、メモリ4GBを確保する場合、「-m 4g」と指定します。コラム
Solrの起動中、以下のような警告が発生することがあります。その場合、Solr の稼働ユーザの作成プロセス数の制限を変更することで回避できます。警告ログ出力例
[WARN] *** Your Max Processes Limit is currently 31212.作成プロセス数の制限は以下の方法で変更可能です。
ulimit コマンド(root 権限による実行)
実行例
ulimit -u 65000制限ファイル(/etc/security/limits.conf 等)への制限設定追加
記載例
[Solr 稼働ユーザ] hard nproc 65000 [Solr 稼働ユーザ] soft nproc 65000サーバの停止
Solr を停止する際には、停止する Solr ポート番号を指定します。-p %PORT% の代わりに -all と指定することですべての Solr を停止することもできます。
Windowsの場合
C:\solr\bin> solr.cmd stop -p %PORT%Linuxの場合
/usr/local/solr/bin/solr stop -p %PORT%
4.2.4. Solr管理画面の確認¶
Solr管理画面へ接続し、「search」ボタンが正常に動作することを確認します。
以下のURLをWebブラウザのアドレスバーに入力して「Solr管理」画面が表示できることを確認します。
http://<HOST>:<PORT>/solr/#/
図 Solr管理画面「Core Selector」を選択し、コアの概要画面を表示します。
http://<HOST>:<PORT>/solr/#/default/query
図 コアの概要画面「query」リンクをクリックします。
図 クエリー画面q (The Query String) のテキストエリアに 「*:*」と入力されていることを確認し、「Execute Query」ボタンをクリックします。
検索に成功した場合、ブラウザに以下のようなJSONが表示されます。
{ "responseHeader":{ "status":0, "QTime":38, "params":{ "q":"*:*", "indent":"true", "q.op":"OR", "useParams":"", "_":"1726023537708" } }, "response":{ "numFound":0, "start":0, "numFoundExact":true, "docs":[ ] } }