---
title: "再構築中のSwitch Commerceインデックス"
slug: "switch-commerce-indexes-during-rebuild"
abstract: "カスタムインデックスに「Switch on Rebuild」を設定することで、Commerceインデックスの完全な再構築時に検索機能の高い可用性を確保する方法。"
---
# 再構築中のSwitch Commerceインデックス

SwitchOnRebuild機能を使って、Commerceインデックスの完全な再構築時に検索機能の高可用性を確保します。SwitchOnRebuild機能は、検索機能のダウンタイムを防ぎ、完全な検索インデックス再構築が進行中でもユーザーがアイテムの検索を続けられるようにします。

SwitchOnRebuild機能を使ってSolrやSolrCloudの検索プロバイダーを利用できます。

> !注SwitchOnRebuild機能は、以下の商取引インデックスでデフォルトで有効化されています:CatalogItemsScope、CustomersScope、OrdersScope、PromotionsScope、PriceCardsScope。

SwitchOnRebuild機能は、同じインデックスのプライマリインスタンスとセカンダリーインスタンスに依存しています。SwitchOnRebuild機能を有効にして検索インデックスを再構築するために [フルインデックスミニオン](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/indexing-minions.html "Indexing minions") を実行すると、インデックス再構築プロセスはセカンダリ(非ライブ)インデックス上で行われ、プライマリ(アクティブ)インデックスはライブストアフロントサイト上で引き続き検索機能を提供します。セカンダリインデックスの再構築が完了すると、インデックスが切り替わり、新たに再構築されたインデックスがアクティブな検索インデックスとなります。

## カスタムCommerceインデックスを設定して再構築をオンにしてください

Commerceのデプロイメントでカスタムインデックスを設定して、再構築をオンにできます。

### Solrコアの複製を作成し、二次インデックスとして使う

Solrを検索プロバイダーとして使う場合、切り替えに必要な二次インデックスを手動で作成する必要があります。二次インデックスは、アクティブなSolrコアの複製を作成することで作成します。

> !注もしCommerceのデプロイメントでSolrCloudを検索プロバイダーとして使っているなら、二次インデックスを手動で作成する必要はありません(自動で作成されます)。ただし、カスタムインデックスのために[SwitchOnRebuildを設定する](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/switch-commerce-indexes-during-rebuild.html#UUID-cb433b45-de0c-3880-270b-8c19b5f4e49b_N1568395253827 "Configure SwitchOnRebuild for a custom Commerce index") 必要があります。

Solrコアを複製するには:

1.  例えば、Solrのコアが入っているフォルダをC:\\solr-8.1.1\\server\\solr開いて、サブフォルダ(例: *YOURCOREFOLDER-Rebuild*)を作成します。
    
2.  C:\\solr-\*.\*.\*\\server\\solr\\configsets\\sample\_techproducts\_configsのフォルダを開き、[ステップ1](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/switch-commerce-indexes-during-rebuild.html#UUID-cb433b45-de0c-3880-270b-8c19b5f4e49b_N1568394759412)で作成したサブフォルダの*conf*フォルダをコピーしてください(例:C:\\solr-\*.\*.\*\\server\\solr\\YOURCOREFOLDER-Rebuild)。
    
3.  アクティブなコアのSolrスキーマを含むフォルダ、例えばSolrSchemas/YOURCOREフォルダを開きます。
    
    > !注Sitecore XC SolrスキーマはSolrSchemas.SitecoreのSolrSchemasフォルダにあります。Commerce.x.x.x.x zipファイルは、Sitecore XCリリースパッケージに含まれています。
    
4.  ファイルをmanaged-schemaと、[ステップ2](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/switch-commerce-indexes-during-rebuild.html#UUID-cb433b45-de0c-3880-270b-8c19b5f4e49b_N1568391940783)で作成した*conf*フォルダ(例:C:\\solr-\*. \*.\*\\server\\solr\\YOURCOREFOLDER-Rebuild\\YOURCORENAME\\conf)にコピーしてコピーしsolrconfig.xmlします。
    
5.  ブラウザウィンドウを開き、URL内で "name=" に使われた値を新しいコア名(例えばhttps://localhost:8994/solr/admin/cores?action=name=YOURCORENAME&configset=sample\_techproducts\_configs&property.update.autoCreateFields=false)に置き換え、そのURLにブラウズします。新しいコアを作成したら、[SwitchOnRebuildを設定](switch-commerce-indexes-during-rebuild.html#UUID-cb433b45-de0c-3880-270b-8c19b5f4e49b_N1568395253827 "Configure SwitchOnRebuild for a custom Commerce index")できます。
    

### カスタムCommerceインデックスのためにSwitchOnRebuildを設定

SwitchOnRebuildの設定:

> !注Solrを検索プロバイダーとして使う場合、SwitchOnRebuild機能を有効にする前に [アクティブなSolrコアの複製を作成する](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/switch-commerce-indexes-during-rebuild.html#UUID-cb433b45-de0c-3880-270b-8c19b5f4e49b_section-5d7bad2412741-idm45577711313728 "Create a duplicate of the Solr core to use as the secondary index") 必要があります。

1.  wwwroot\\data\\Environments\\PlugIn.Search.PolicySet-1.0.0.jsonファイルを開き、アクティブインデックスの設定を含むセクションを見つけてください。例えば:
    
    {
     "$type": "Sitecore.Commerce.Plugin.Search.SearchScopePolicy, Sitecore.Commerce.Plugin.Search",
     "Name": "YOURCORENAME",
    {
    
2.  コアの構成パラメータを定義します。例として、以下はSwitchOnRebuildが有効化されたCatalogItemsScopeインデックスの設定を示しています。
    
    {
     "$type": "Sitecore.Commerce.Plugin.Search.SearchScopePolicy, Sitecore.Commerce.Plugin.Search",
     "Name": "CatalogItemsScope",
     "CurrentIndexName":"CatalogItemsScope",
     "SwitchOnRebuild": true,
     "SwitchOnRebuildReset": false,
     "SwitchOnRebuildClearPreviousIndex": true,
     "SwitchOnRebuildPrimaryIndexName":"CatalogItemsScope",
     "SwitchOnRebuildSecondaryIndexName":"CatalogItemsScope-Rebuild",
    }
    

#### SwitchOnRebuild設定パラメータ

以下の表は、スイッチオン再構築機能の設定パラメータを示しています。

パラメータ

概要

名称

インデックスの名前です。

CurrentIndexName(現在のインデックスネーム)

現在アクティブな検索インデックスの名前(文字列)です。

スイッチオンリビルド

SwitchOnRebuild機能の有効または無効化を可能にし、完全なインデックス再構築操作を行います。  
  
デフォルト:trueです

SwitchOnRebuildPrimaryIndexName

プライマリインデックスの名前。交互に再構築すべきインデックスを決定し、再構築が成功した場合にSearchStatusエンティティの CurrentIndexName プロパティを永続化します。

SwitchOnRebuildSecondaryIndexName

セカンダリインデックスの名前。交互に を使い、どのインデックスを完全に再構築するかを決定し、再構築が成功した場合に SearchStatus エンティティの CurrentIndexName プロパティを永続化します。

SwitchOnRebuildClearPreviousIndex

有効化すると、切り替え後に前のインデックス内のすべての文書が削除されます。  
  
デフォルト:trueです