intra-mart Accel Platform Solr管理者ガイド 第5版 2018-08-01

6. Solrの操作

IM-ContentsSearch を利用するにあたって必要となる Solr の運用上の手順などについて説明します。

6.1. インデックスの削除

インデックスを削除する方法について説明します。
開発時や環境再構築時に一旦インデックスを削除したい場合などに実行してください。
curlコマンドを実行してSolrサーバに対してXMLデータを送信、またはWebブラウザのアドレスバーにURLを指定して削除を実行できます。いずれも、Solrサーバが起動されている状態で実行する必要があります。
  • コア名「default」内のインデックスをすべて削除する操作

    Linuxの場合:curlコマンドを実行

    curl "http://localhost:8983/solr/default/update?commit=true" --data-binary '<delete><query>*:*</query></delete>' -H 'Content-type: text/xml; charset=utf-8';
    

    Windowsの場合:WebブラウザのアドレスバーにURLを指定

    http://localhost:8983/solr/default/update?stream.body=<delete><query>*:*</query></delete>&commit=true
    

コラム

IM-ContentsSearch では、インデックスを削除するためのジョブを用意しています。

6.2. Solrの移行

Solrサーバに保存されている設定ファイルやインデックスの移行手順についてアプリケーションサーバごとに説明します。
移行先のサーバでインデックスを再度作成する場合にはインデックスのコピーは必要ありません。
本書では同じアプリケーションサーバ製品への移行を想定した手順を記載します。

注意

Solrサーバのデータの移行作業を行う前には、バックアップを行うことを推奨します。

6.2.1. Tomcatを利用している場合

Tomcat でSolrサーバを構築している場合のデータ移行手順について説明します。
  • 作業は必ず Tomcat を停止させている状態で開始してください。
  • 移行元の Tomcat のインストールディレクトリを %TOMCAT_OLD_HOME% と表記します。
  • 移行先の Tomcat のインストールディレクトリを %TOMCAT_NEW_HOME% と表記します。
%TOMCAT_OLD_HOME%:
 移行元の Tomcat のインストールディレクトリ
%TOMCAT_NEW_HOME%:
 移行先の Tomcat のインストールディレクトリ
  1. WARファイルのコピー

    <%TOMCAT_OLD_HOME%/webapps/solr.war> を <%TOMCAT_NEW_HOME%/webapps> ディレクトリ配下にコピーします。

  2. solrディレクトリのコピー

    <%TOMCAT_OLD_HOME%/solr> ディレクトリを <%TOMCAT_NEW_HOME%> ディレクトリ配下にコピーします。

  3. インデックス保存ディレクトリのコピー

    インデックスが保存されているディレクトリをコピーしてください。

    • <%TOMCAT_OLD_HOME%/solr/%コア名%/conf/solrconfig.xml>の dataDir に指定しているディレクトリを変更していない場合

      <%TOMCAT_OLD_HOME%/solr/%コア名%> ディレクトリ配下に data ディレクトリがあるため、手順2でコピー済みです。
    • <%TOMCAT_OLD_HOME%/solr/%コア名%/conf/solrconfig.xml>の dataDir に指定しているディレクトリを変更している場合

      複数のコアを設定している場合はそれぞれのディレクトリと <solrconfig.xml> の dataDir の設定を確認してください。
  4. URLEncodingの設定

    <%TOMCAT_NEW_HOME%/conf/server.xml> の Connector 要素に、属性 URIEncoding="UTF-8" を追加します。

  5. その他環境設定

    Tomcat の設定をデフォルト設定から変更している場合は、移行先の環境に合わせて変更してください。

  6. Tomcatの起動

    Tomcat を起動し、正常に起動されることを確認してください。

  7. Solr管理画面の確認

    ブラウザでSolr管理画面が表示できることを確認してください。

    http://<HOST>:<PORT>/solr/default/admin/
    

6.2.2. Resinを利用している場合

Resin でSolrサーバを構築している場合の移行手順について説明します。
  • 作業は必ず Resin を停止させている状態で開始してください。
  • 移行元の Resin のインストールディレクトリを %RESIN_OLD_HOME% と表記します。
  • 移行先の Resin のインストールディレクトリを %RESIN_NEW_HOME% と表記します。
%RESIN_OLD_HOME%:
 移行元の Resin のインストールディレクトリ
%RESIN_NEW_HOME%:
 移行先の Resin のインストールディレクトリ
  1. WARファイルのコピー

    <%RESIN_OLD_HOME%/webapps/solr.war> を <%RESIN_NEW_HOME%/webapps> ディレクトリ配下にコピーします。

  2. solrディレクトリのコピー

    <%RESIN_OLD_HOME%/solr> ディレクトリを <%RESIN_NEW_HOME%> ディレクトリ配下にコピーします。

  3. インデックス保存ディレクトリのコピー

    インデックスが保存されているディレクトリをコピーしてください。

    • <%RESIN_OLD_HOME%/solr/%コア名%/conf/solrconfig.xml>の dataDir に指定しているディレクトリを変更していない場合

      <%RESIN_OLD_HOME%/solr/%コア名%> ディレクトリ配下に data ディレクトリがあるため、手順2でコピー済みです。
    • <%RESIN_OLD_HOME%/solr/%コア名%/conf/solrconfig.xml>の dataDir に指定しているディレクトリを変更している場合

      複数のコアを設定している場合はそれぞれのディレクトリと <solrconfig.xml> の dataDir の設定を確認してください。
  4. ホームロケーションの設定

    <%RESIN_NEW_HOME%/conf/resin.xml> の </resin> の前に以下の内容を追加します。

    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-type>java.lang.String</env-entry-type>
       <env-entry-value>./solr</env-entry-value>
    </env-entry>
    
  5. その他環境設定

    Resin の設定をデフォルト設定から変更している場合は、移行先の環境に合わせて変更してください。

  6. Resinの起動

    Resin を起動し、正常に起動されることを確認してください。

  7. Solr管理画面の確認

    ブラウザでSolr管理画面が表示できることを確認してください。

    http://<HOST>:<PORT>/solr/default/admin/
    

6.2.3. Jettyを利用している場合

Jetty でSolrサーバを構築している場合のデータ移行手順について説明します。
  • 作業は必ず Jetty を停止させている状態で開始してください。
  • 移行元の Jetty のインストールディレクトリを %JETTY_OLD_HOME% と表記します。
  • 移行先の Jetty のインストールディレクトリを %JETTY_NEW_HOME% と表記します。
  • 移行先の Jetty は弊社提供のセットアップツールで構築されている環境とします。
%JETTY_OLD_HOME%:
 移行元の Jetty のインストールディレクトリ
%JETTY_NEW_HOME%:
 移行先の Jetty のインストールディレクトリ
  1. solrディレクトリのコピー

    <%JETTY_OLD_HOME%/solr> ディレクトリを <%JETTY_NEW_HOME%> ディレクトリ配下にコピーします。

  2. インデックス保存ディレクトリのコピー

    インデックスが保存されているディレクトリをコピーしてください。

    • <%JETTY_OLD_HOME%/solr/%コア名%/conf/solrconfig.xml>の dataDir に指定しているディレクトリを変更していない場合

      <%JETTY_OLD_HOME%/solr/%コア名%> ディレクトリ配下に data ディレクトリがあるため、手順2でコピー済みです。
    • <%JETTY_OLD_HOME%/solr/%コア名%/conf/solrconfig.xml>の dataDir に指定しているディレクトリを変更している場合

      複数のコアを設定している場合はそれぞれのディレクトリと <solrconfig.xml> の dataDir の設定を確認してください。
  3. その他環境設定

    Jetty の設定をデフォルト設定から変更している場合は、移行先の環境に合わせて変更してください。

  4. Jettyの起動

    Jetty を起動し、正常に起動されることを確認してください。

  5. Solr管理画面の確認

    ブラウザでSolr管理画面が表示できることを確認してください。

    http://<HOST>:<PORT>/solr/default/admin/
    

6.2.4. Payaraを利用している場合

Payara でSolrサーバを構築している場合の移行手順について説明します。
  • 作業は必ず Payara を停止させている状態で開始してください。
  • 移行元の Payara のインストールディレクトリを %PAYARA_OLD_HOME% と表記します。
  • 移行先の Payara のインストールディレクトリを %PAYARA_NEW_HOME% と表記します。
%PAYARA_OLD_HOME%:
 移行元の Payara のインストールディレクトリ
%PAYARA_NEW_HOME%:
 移行先の Payara のインストールディレクトリ
  1. solrディレクトリのコピー

    <%PAYARA_OLD_HOME%/glassfish/nodes/localhost-domain1/%インスタンス名%/solr> ディレクトリを <%PAYARA_NEW_HOME%/glassfish/nodes/localhost-domain1/%インスタンス名%> ディレクトリ配下にコピーします。

    コラム

    %インスタンス名% は Payara 上に作成したインスタンス名を指定してください。
  2. solr.solr.homeの設定

    移行先の Payara に以下のシステムプロパティを設定してください。

    プロパティ名 solr.solr.home
    プロパティ値 ../solr
  3. その他環境設定

    Payara の設定をデフォルト設定から変更している場合は、移行先の環境に合わせて変更してください。

  4. インデックス保存ディレクトリのコピー

    インデックスが保存されているディレクトリをコピーしてください。

    • <%PAYARA_OLD_HOME%/glassfish/nodes/localhost-domain1/%インスタンス名%/solr/%コア名%/conf/solrconfig.xml>の dataDir に指定しているディレクトリを変更していない場合

      <%PAYARA_OLD_HOME%/solr/%コア名%> ディレクトリ配下に data ディレクトリがあるため、手順1でコピー済みです。
    • <%PAYARA_OLD_HOME%/glassfish/nodes/localhost-domain1/%インスタンス名%/solr/%コア名%/conf/solrconfig.xml>の dataDir に指定しているディレクトリを変更している場合

      複数のコアを設定している場合はそれぞれのディレクトリと <solrconfig.xml> の dataDir の設定を確認してください。
  5. WARファイルのデプロイ

    <solr.war> を移行先の Payara にデプロイしてください。

  6. Payaraの起動

    Payara を起動し、正常に起動されることを確認してください。

  7. Solr管理画面の確認

    ブラウザでSolr管理画面が表示できることを確認してください。

    http://<HOST>:<PORT>/solr/default/admin/
    

6.3. Solrのバックアップ

  1. solrディレクトリのバックアップ

    %SOLR_HOME% ディレクトリをバックアップしてください。
    <solrconfig.xml> の dataDir の指定を変更していない場合は %SOLR_HOME% ディレクトリに設定ファイルとインデックスが保存されているため、下記の手順を行う必要はありません。
  2. インデックスのバックアップ

    インデックスが保存されているディレクトリをバックアップしてください。
    複数のコアを設定している場合はそれぞれの <solrconfig.xml> の dataDir に指定されているディレクトリをそれぞれバックアップしてください。