intra-mart Accel Platform Solr管理者ガイド 第7版 2021-04-01

4. Solrのセットアップ

IM-ContentsSearch を利用するための Solr のセットアップ方法について説明します。

4.1. 前提条件

注意

Solr はディスクアクセスが大量に発生する場合があります。
そのため、intra-mart Accel Platform がセットアップされたサーバと同一筐体に構築した場合、パフォーマンスに影響が出る可能性があります。
運用環境では intra-mart Accel Platform と Solr を別サーバに構築することを強く推奨します。

注意

Solr における最適化処理では、一時的に登録されている全データを複製します。
そのため、最適化処理時には、Solrサーバ上で、通常使用しているディスク容量の2倍以上のディスクの空き容量を必要としますので、注意してください。

4.2. セットアップ手順

IM-ContentsSearch では、 Solr のセットアップ資材を提供しています。
  • アプリケーションサーバ「Jetty」を利用した構築および起動

コラム

2021 Spring からアプリケーションサーバは同梱されている Jetty を使用します。
Resin/Tomcat/Payara へデプロイするためのセットアップツールは提供しなくなりました。

4.2.1. セットアップ資材の取得・展開

  1. セットアップ資材の取得

    Solr のセットアップ資材を取得します。
    セットアップツールは以下のURLよりダウンロードできます。ダウンロードには製品のライセンスキーが必要です。
  2. セットアップツールの展開(解凍)

    セットアップ資材のファイル <solr.zip> を取得後、任意のパスに展開します。
    本書では、例として以下のディレクトリを指定します。
    • Windowsの場合

      C:\solr
      
    • Linuxの場合

      /usr/local/solr
      

    セットアップ資材のファイルを展開したディレクトリを、以下 %SOLR_SETUP_HOME% と略します。

4.2.2. サーバの起動と停止

  1. サーバの起動

    • Windowsの場合

      C:\solr\bin> solr.cmd start
      
    • Linuxの場合

      /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
    
  2. サーバの停止

    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」ボタンが正常に動作することを確認します。
  1. 以下のURLをWebブラウザのアドレスバーに入力して「Solr管理」画面が表示できることを確認します。

    http://<HOST>:<PORT>/solr/#/
    
    図 Solr管理画面
  2. 「Core Selector」を選択し、コアの概要画面を表示します。

    http://<HOST>:<PORT>/solr/#/default/query
    
    図 コアの概要画面
  3. 「query」リンクをクリックします。

    図 クエリー画面
  4. q (The Query String) のテキストエリアに 「*:*」と入力されていることを確認し、「Execute Query」ボタンをクリックします。

  5. 検索に成功した場合、ブラウザに以下のような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>