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. サーバの起動と停止¶
サーバの起動
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 ポート番号を指定します。-p %PORT% の代わりに -all と指定することですべての Solr を停止することもできます。
Windowsの場合
C:\solr\bin> solr.cmd stop -p %PORT%Linuxの場合
/usr/local/solr/bin/solr stop -p %PORT%
4.2.3. 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」ボタンをクリックします。
検索に成功した場合、ブラウザに以下のようなXMLが表示されます。
<response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">58</int> <lst name="params"> <str name="hl.snippets">5</str> <str name="hl.useFastVectorHighlighter">true</str> <str name="echoParams">all</str> <str name="sort">record_date desc</str> <str name="start">0</str> <str name="q">*:*</str> <str name="rows">10</str> <str name="indent">on</str> <str name="version">2.2</str> </lst> </lst> <result name="response" numFound="0" start="0"/> </response>