intra-mart Accel Platform Solr管理者ガイド 第11版 2026-10-01

8. Solrのアップデート

IM-ContentsSearch やベクトルデータベースとして利用している Solr のアップデート方法について説明します。

8.1. 概要

Solr のアップデートが必要な場合、通常のアップデート方法 を確認してください。
なお、アップデートする前のバージョンによってはアップデート方法が異なる可能性があるので、バージョン固有のアップデート手順 も合わせて確認してください。

注意

アップデート作業前には、必ず Solr のデータおよび設定ファイルのバックアップを取得してください。
アップデート中に何らかの問題が発生した場合、元の環境に復旧するために必要です。

8.2. 通常のアップデート方法

以下の手順で Solr のアップデートを実施してください。
  1. バックアップの取得

    アップデート作業を開始する前に、必ずバックアップを取得してください。
    バックアップ方法の詳細は「Solrのバックアップ」を参照してください。
  2. 既存の Solr インストールディレクトリの削除

    現在動作している Solr を停止し、Solr を動作している Web Application Server(Jetty、Resin、Tomcat)をセットアップしたディレクトリを削除します。
  3. 新しいバージョンの Solr のダウンロードとセットアップ

    プロダクトファイルダウンロード から新しいバージョンの Solr をダウンロードし、「Solrのセットアップ」の手順に従ってセットアップを実施してください。
  4. インデックスデータの再登録

    Solr の再セットアップ後、検索インデックス(データ)の再登録が必要です。

    a. IM-ContentsSearch を利用している場合

    IM-ContentsSearch の全文検索機能を利用するためには、「インデックスの作成(索引作成)」が必要です。
    詳細については、「IM-ContentsSearch プログラミングガイド」-「検索対象の作成・登録・削除」を参照してください。

    コラム

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

    b. ベクトルデータベースとして Solr を利用している場合

    ベクトルデータの再登録が必要です。ユーザが利用しているアシスタントの種類に応じて、ベクトルデータの再登録を実施してください。

    コラム

    各種製品で利用できるアシスタントについては、以下のジョブを利用することで、ベクトルデータの再登録が可能です。

    IM-Wiki Copilot をご利用の場合

    注意

    生成AIサービスの利用料金について

    ベクトルデータの生成には、生成AIサービスの利用料金が発生します。
    大量のデータがある場合は、コストを事前に見積もってから実施してください。

注意

データの再登録やインデックス再作成には時間がかかる場合があります。
本番環境でのアップデートは、メンテナンス時間を十分に確保して実施することを推奨します。

8.3. バージョン固有のアップデート手順

8.3.1. 2024 Autumn(Jasmine) ~ 2025 Spring(Kamille) の環境からアップデートする場合

2024 Autumn(Jasmine) ~ 2025 Spring(Kamille) の環境からアップデートする場合は、設定ファイルを変更して再起動するだけで対応可能です。
この方法では、データの再登録が不要でコストを抑えたアップデートが可能です。

コラム

Solr をベクトルデータベースとして利用していない場合は、本手順は不要です。

コラム

2026 Autumn(Nemesia) 以降へアップデートする場合、「方法2:既存の schema.xml にフィールドを直接追加する」で対応するときは、本手順に続けて「2025 Autumn(Lilac) ~ 2026 Spring(Mimosa) の環境からアップデートする場合」の手順も実施してください。
「方法1:schema.xml を差し替える」で対応する場合は、差し替え後の<schema.xml>に 2026 Autumn(Nemesia) で追加されたフィールドも含まれているため、追加の対応は不要です。
  1. Solr の停止

    現在動作している Solr を停止してください。
    • Windowsの場合

      C:\solr\bin> solr.cmd stop -p %PORT%
      
    • Linuxの場合

      /usr/local/solr/bin/solr stop -p %PORT%
      
  2. 設定ファイル(schema.xml)の変更

    ベクトルデータベース用のコア(default_vector)のスキーマ定義ファイルに、新しいフィールドを追加します。
    以下のいずれかの方法で対応してください。

    修正対象ファイル:

    solr\server\solr\default_vector\conf\schema.xml
    solr\server\solr\configsets\_iapdefault_vector\conf\schema.xml
    

    コラム

    _iapdefault_vector コンフィグセットを指定して独自に追加したコアがある場合は、そのコアの<schema.xml>(%SOLR_HOME%/server/solr/%コア名%/conf/schema.xml)にも同様の変更が必要です。

    方法1:schema.xml を差し替える

    プロダクトファイルダウンロード から新しいバージョンの Solr をダウンロードし提供された<schema.xml>で既存のファイルを差し替えます。

    注意

    <schema.xml>は英語・中国語用トークナイザのカスタマイズが前提のため、カスタマイズ済みの場合は差し替え後、カスタマイズ箇所を手動で再適用する必要があります。

    方法2:既存の schema.xml にフィールドを直接追加する

    既存の<schema.xml>ファイルに以下のフィールドを追加します。

    追加するフィールド:

    <field name="origin_source_id" type="string" indexed="true" stored="true" />
    

    追加位置の例:

    <fields>
       <!-- basic fields -->
       <field name="id" type="string" indexed="true" stored="true" required="true" />
       <field name="_version_" type="plong" indexed="false" stored="false" />
       <field name="category" type="string" indexed="true" stored="true" required="true" />
       <field name="vector" type="knn_vector" indexed="true" stored="true"/>
       <field name="text_ja" type="text_ja" indexed="true" stored="true" />
       <field name="text_en" type="text_en" indexed="true" stored="true" />
       <field name="text_zh_cn" type="text_zh_cn" indexed="true" stored="true" />
       <field name="metadata" type="string" stored="true" />
       <!-- 下記を追加 -->
       <field name="origin_source_id" type="string" indexed="true" stored="true" />
    </fields>
    
  3. Solr の再起動

    設定ファイルの変更完了後、Solr を再起動してください。
    • Windowsの場合

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

      /usr/local/solr/bin/solr start
      
  4. 動作確認

    管理画面にアクセスし、正常に動作することを確認してください。
    http://<HOST>:<PORT>/solr/#/
    
    「default_vector」コアが表示され、以下より追加したフィールド(origin_source_id)が存在することを確認してください。
    http://<HOST>:<PORT>/solr/#/default_vector/schema
    

8.3.2. 2025 Autumn(Lilac) ~ 2026 Spring(Mimosa) の環境からアップデートする場合

2025 Autumn(Lilac) ~ 2026 Spring(Mimosa) の環境からアップデートする場合は、設定ファイルを変更して再起動するだけで対応可能です。
この方法では、データの再登録が不要でコストを抑えたアップデートが可能です。

コラム

Solr をベクトルデータベースとして利用していない場合は、本手順は不要です。

コラム

2024 Autumn(Jasmine) ~ 2025 Spring(Kamille) の環境からアップデートする場合は、先に「2024 Autumn(Jasmine) ~ 2025 Spring(Kamille) の環境からアップデートする場合」の手順を実施してください。
  1. Solr の停止

    現在動作している Solr を停止してください。
    • Windowsの場合

      C:\solr\bin> solr.cmd stop -p %PORT%
      
    • Linuxの場合

      /usr/local/solr/bin/solr stop -p %PORT%
      
  2. 設定ファイル(schema.xml)の変更

    ベクトルデータベース用のコア(default_vector)のスキーマ定義ファイルに、次元数ごとのベクトルフィールドと、インデックス付きメタデータ用の動的フィールドを追加します。
    次元数ごとのベクトルフィールドは、1536 次元以外の埋め込みベクトルを出力するモデルを利用するために必要です。
    インデックス付きメタデータ用の動的フィールドは、メタデータによる絞り込み検索を利用するために必要です。
    以下のいずれかの方法で対応してください。

    修正対象ファイル:

    solr\server\solr\default_vector\conf\schema.xml
    solr\server\solr\configsets\_iapdefault_vector\conf\schema.xml
    

    コラム

    _iapdefault_vector コンフィグセットを指定して独自に追加したコアがある場合は、そのコアの<schema.xml>(%SOLR_HOME%/server/solr/%コア名%/conf/schema.xml)にも同様の変更が必要です。

    方法1:schema.xml を差し替える

    プロダクトファイルダウンロード から新しいバージョンの Solr をダウンロードし提供された<schema.xml>で既存のファイルを差し替えます。

    注意

    <schema.xml>は英語・中国語用トークナイザのカスタマイズが前提のため、カスタマイズ済みの場合は差し替え後、カスタマイズ箇所を手動で再適用する必要があります。

    方法2:既存の schema.xml にフィールドタイプとフィールドを直接追加する

    既存の<schema.xml>ファイルに以下のフィールドタイプとフィールドを追加します。

    追加するフィールドタイプ(<types> 内):

    <fieldType name="knn_vector_128"  class="solr.DenseVectorField" vectorDimension="128"  similarityFunction="euclidean"/>
    <fieldType name="knn_vector_256"  class="solr.DenseVectorField" vectorDimension="256"  similarityFunction="euclidean"/>
    <fieldType name="knn_vector_512"  class="solr.DenseVectorField" vectorDimension="512"  similarityFunction="euclidean"/>
    <fieldType name="knn_vector_768"  class="solr.DenseVectorField" vectorDimension="768"  similarityFunction="euclidean"/>
    <fieldType name="knn_vector_1024" class="solr.DenseVectorField" vectorDimension="1024" similarityFunction="euclidean"/>
    <fieldType name="knn_vector_2048" class="solr.DenseVectorField" vectorDimension="2048" similarityFunction="euclidean"/>
    <fieldType name="knn_vector_3072" class="solr.DenseVectorField" vectorDimension="3072" similarityFunction="euclidean"/>
    <fieldType name="pdouble" class="solr.DoublePointField" docValues="true"/>
    <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
    

    追加するフィールド(<fields> 内):

    <field name="vector_128"  type="knn_vector_128"  indexed="true" stored="true"/>
    <field name="vector_256"  type="knn_vector_256"  indexed="true" stored="true"/>
    <field name="vector_512"  type="knn_vector_512"  indexed="true" stored="true"/>
    <field name="vector_768"  type="knn_vector_768"  indexed="true" stored="true"/>
    <field name="vector_1024" type="knn_vector_1024" indexed="true" stored="true"/>
    <field name="vector_2048" type="knn_vector_2048" indexed="true" stored="true"/>
    <field name="vector_3072" type="knn_vector_3072" indexed="true" stored="true"/>
    
    <!-- インデックス付きメタデータ(indexedMetadata)用の動的フィールド -->
    <dynamicField name="*_meta_txt" type="string"  indexed="true" stored="true" multiValued="true"/>
    <dynamicField name="*_meta_l"   type="plong"   indexed="true" stored="true" multiValued="true"/>
    <dynamicField name="*_meta_d"   type="pdouble" indexed="true" stored="true" multiValued="true"/>
    <dynamicField name="*_meta_b"   type="boolean" indexed="true" stored="true" multiValued="true"/>
    

    追加位置の例:

    <types>
       <fieldType name="knn_vector" class="solr.DenseVectorField" vectorDimension="1536" similarityFunction="euclidean"/>
       <!-- 下記を追加 -->
       <fieldType name="knn_vector_128"  class="solr.DenseVectorField" vectorDimension="128"  similarityFunction="euclidean"/>
       <fieldType name="knn_vector_256"  class="solr.DenseVectorField" vectorDimension="256"  similarityFunction="euclidean"/>
       <fieldType name="knn_vector_512"  class="solr.DenseVectorField" vectorDimension="512"  similarityFunction="euclidean"/>
       <fieldType name="knn_vector_768"  class="solr.DenseVectorField" vectorDimension="768"  similarityFunction="euclidean"/>
       <fieldType name="knn_vector_1024" class="solr.DenseVectorField" vectorDimension="1024" similarityFunction="euclidean"/>
       <fieldType name="knn_vector_2048" class="solr.DenseVectorField" vectorDimension="2048" similarityFunction="euclidean"/>
       <fieldType name="knn_vector_3072" class="solr.DenseVectorField" vectorDimension="3072" similarityFunction="euclidean"/>
       <!-- ここまで -->
       <fieldType name="string" class="solr.StrField" sortMissingLast="true" docValues="true" />
       <fieldType name="plong" class="solr.LongPointField" docValues="true" />
       <!-- 下記を追加 -->
       <fieldType name="pdouble" class="solr.DoublePointField" docValues="true"/>
       <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
       <!-- ここまで -->
       ...
    </types>
    
    <fields>
       <!-- basic fields -->
       <field name="id" type="string" indexed="true" stored="true" required="true" />
       <field name="_version_" type="plong" indexed="false" stored="false" />
       <field name="category" type="string" indexed="true" stored="true" required="true" />
       <field name="vector" type="knn_vector" indexed="true" stored="true"/>
       <!-- 下記を追加 -->
       <field name="vector_128"  type="knn_vector_128"  indexed="true" stored="true"/>
       <field name="vector_256"  type="knn_vector_256"  indexed="true" stored="true"/>
       <field name="vector_512"  type="knn_vector_512"  indexed="true" stored="true"/>
       <field name="vector_768"  type="knn_vector_768"  indexed="true" stored="true"/>
       <field name="vector_1024" type="knn_vector_1024" indexed="true" stored="true"/>
       <field name="vector_2048" type="knn_vector_2048" indexed="true" stored="true"/>
       <field name="vector_3072" type="knn_vector_3072" indexed="true" stored="true"/>
       <!-- ここまで -->
       <field name="text_ja" type="text_ja" indexed="true" stored="true" />
       <field name="text_en" type="text_en" indexed="true" stored="true" />
       <field name="text_zh_cn" type="text_zh_cn" indexed="true" stored="true" />
       <field name="metadata" type="string" stored="true" />
       <field name="origin_source_id" type="string" indexed="true" stored="true" />
       <!-- 下記を追加 -->
       <!-- インデックス付きメタデータ(indexedMetadata)用の動的フィールド -->
       <dynamicField name="*_meta_txt" type="string"  indexed="true" stored="true" multiValued="true"/>
       <dynamicField name="*_meta_l"   type="plong"   indexed="true" stored="true" multiValued="true"/>
       <dynamicField name="*_meta_d"   type="pdouble" indexed="true" stored="true" multiValued="true"/>
       <dynamicField name="*_meta_b"   type="boolean" indexed="true" stored="true" multiValued="true"/>
       <!-- ここまで -->
    </fields>
    
  3. Solr の再起動

    設定ファイルの変更完了後、Solr を再起動してください。
    • Windowsの場合

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

      /usr/local/solr/bin/solr start
      
  4. 動作確認

    管理画面にアクセスし、正常に動作することを確認してください。
    http://<HOST>:<PORT>/solr/#/
    
    「default_vector」コアが表示され、以下より追加したフィールド(vector_128 ~ vector_3072)および動的フィールド(*_meta_txt、*_meta_l、*_meta_d、*_meta_b)が存在することを確認してください。
    http://<HOST>:<PORT>/solr/#/default_vector/schema
    

8.4. 注意事項

  • アップデート作業は、メンテナンス時間を十分に確保して実施してください。
  • アップデート前には必ずバックアップを取得してください
  • 本番環境でのアップデートは、事前にテスト環境で検証することを強く推奨します
  • アップデート後は、IM-ContentsSearch やベクトルデータベースの動作確認を実施してください。