SolrでのxDBインデックスの再構築

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

このトピックでは、Solr検索プロバイダーを使用している場合に、xDB Searchインデックスを再作成する方法について説明します。再構築する前に、環境が次の要件を満たしていることを確認してください。

  • xConnect Solrコアには、ライブ コア (通常はxdb) と、_rebuildサフィックス ( xdb_rebuildなど) が付いたリビルド コアの2つがあります。

  • どちらのコアもbasic_configsファイルに基づいています。

  • xConnectスキーマの変更が両方のコアに適用されました。

大事な

レポート・データベースを再構築しても、インデックスの再構築はトリガーされません。インデックスは個別に再構築する必要があります。

再構築要求コマンドを呼び出す

インデクサーは、ホストされている場所に応じて、プロセスの種類、アクセス方法、および作業フォルダーを変更します。

Sitecoreはオンプレミスでホストされています

Sitecoreはクラウドでホストされています

Process type

xConnect Collection Searchインスタンス上のWindowsサービス。

xConnect Collection Searchインスタンス上のAzure App Service Webジョブ。

Access way

PowerShell。

Kuduデバッグ コンソール

<WORKING> folder

<xConnect instance>\App_Data\jobs\continuous\IndexWorker\

D:\local\Temp\jobs\continuous\IndexWorker\<SUBFOLDER>\

Azure Webジョブを再デプロイするたびに、インデクサーの作業ファイルを格納するための一意の名前の一時サブフォルダ ( bp003r3f.h2g/など) が作成されます。

再構築要求コマンドを呼び出すには、次のようにします。

  1. xConnect Search Indexerが実行されているサーバーに移動し、コマンド ラインを開きます。

  2. xConnect Collection Search IndexWorkerフォルダーに移動します。

  3. Sitecore.XConnectSearchIndexer.exe -rrを実行します (またはSitecore.XConnectSearchIndexer.exe -requestrebuild)。このコマンドは、リビルドを開始する必要があることを通知する小さなドキュメントをライブ コアに登録します。xConnect Search Indexerはドキュメントを認識し、再構築プロセスを開始します。

リビルド コアを作成する

リビルド・コアがない場合は、以下のステップを実行します。リビルド コアがある場合は、このセクションをスキップしてください。

メモ

Managed Cloudソリューションの場合、このセクションは、すぐにプロビジョニングxdb_rebuildため、スキップしてください。

リビルド コアを作成するには:

  1. Solr coreフォルダに移動します。 <Solr root>\server\solr

  2. コアのコピーを _rebuildサフィックスで作成します。コアの名前がxdbの場合は、コピーにxdb_rebuildという名前を付けます。

  3. xdb_rebuildフォルダを開き、core.propertiesファイルとdataフォルダを削除します。

  4. ブラウザーを開き、Solr管理インターフェース (通常はhttps://localhost:8983/solr/) に移動します。

  5. 左側のメニューでCore Adminをクリックします。

    Core Admin in the Solr administrative interface
  6. Add Coreをクリックし、リビルド コアの名前とパス (InstanceDir) を入力します (他のプロパティは変更しないでください)。

    Add Core in the Solr administrative interface

エイリアスの作成

コレクションのエイリアスを作成するには:

  1. Solr管理UIで、作成したノードのいずれかを使用して「コレクション」ページに移動します。

  2. Create Alias」をクリックします。

  3. xdb_rebuildという名前のエイリアスを作成し、Collectionsリストでxdb_rebuild_internalをクリックします。

  4. xdbという名前の2つ目のエイリアスを作成し、Collectionsリストでxdb_internalを選択します。

  5. すべてのエイリアスのリストを表示するには、URLのhttps://<solrurl>/solr/admin/collections?action=LISTALIASESを使用します。

  6. <xconnect-root>\App_Data\solrcommands\schema.jsonファイルからのスキーマの変更をSolrスキーマ コレクションAPIを使用してbothコレクションに適用します。

手記

接続文字列では、xdb_internalxdb_rebuild_internalではなくxdbxdb_rebuildを使用します。xdbxdb_rebuildは、プライマリ インデックスとセカンダリ インデックスのデフォルト名です。インデックスの名前を変更する場合は、すべての接続文字列を更新する必要があります。

手記

コレクションとエイリアスに同じ名前を付けないでください。

これで、SolrCloudファームが作成されました。xConnectで使用する前に、SolrCloudを使用するようにxConnectロールを設定します。

コアの再構築

インデックスの再構築は、ユーザー インターフェイスやxConnectクライアントAPIからトリガーすることはできません。代わりに、次のいずれかの方法で再構築プロセスをトリガーします。

再構築要求コマンドを呼び出す

再構築要求コマンドを呼び出すには、次のようにします。

  1. xConnect Search Indexerが実行されているサーバーに移動し、コマンド ラインを開きます。

  2. xConnect Collection Search IndexWorkerフォルダ ( <xConnect Collection Search service root>\App_Data\jobs\continuous\IndexWorker) に移動します。

  3. Sitecore.XConnectSearchIndexer.exe -rrを実行します (またはSitecore.XConnectSearchIndexer.exe -requestrebuild)。このコマンドは、リビルドを開始する必要があることを通知する小さなドキュメントをライブ コアに登録します。xConnect Search Indexerはドキュメントを認識し、再構築プロセスを開始します。

    手記

    インデックス再構築プロセスの実行中にRequestRebuildコマンドを実行すると、既存のプロセスがキャンセルされ、新しいプロセスが開始されます。

リビルド ドキュメントの手動転記

再構築ドキュメントを手動で転記するには:

  • 次のドキュメントをPowerShellからSolrライブ コアに直接投稿します。 Invoke-WebRequest https://localhost:8983:/solr -Method Post -Body '{"id":"xdb-rebuild-status","lastupdated_dt":"2017-05-24T10:15:47.603436Z","rebuildstate_l":1,"progresstotal_d":0.0,"progresscurrent_d":0.0}'

リビルドの確認

リビルドが完了すると、コアが スワップされ、リビルドされたコアがライブ コアになります。コアを交換すると、名前は入れ替わりますが、物理的なフォルダーの場所は入れ替わりません。

リビルド前の名前

リビルド後の名前

コアロケーション

XDB(ライブ)

xdb_rebuild

C:\Solr-8.2.0_https\server\solr\xdb

xdb_rebuild

XDB(ライブ)

C:\Solr-8.2.0_https\server\solr\xdb_rebuild

この時点で、リビルド コアは使用されていません。ただし、スワップ前にライブ コアにあったすべてのデータはまだ保持されています。

手動でコアをスワップする

swap backする必要がある (2回目のリビルドではない) 場合は、まずコアが最近スワップされたことを確認する必要があります。onlyのスワップバックは、次の場合に機能します。

  • xDB Collectionプロバイダー の変更追跡データ には、コアがスワップされてからのすべての変更が引き続き保持されます。

  • xConnect Searchは、一定期間オフラインにすることができます。これは、スワップバックされたコアが上記の変更をプルして最新の状態に戻すために必要です。スワップからの時間枠が短いほど、これにかかる時間は短くなります。

これらの要件を満たしていると仮定して、次の手順に進みます。それらを満たさないと、コアを正常に交換できません。

  1. インデクサーを停止します。

    警告

    コアをスワップバックする前にインデクサーを停止しないと、インデクサーがデータをスキップする可能性があります。

  2. Solr swapコマンドを使用して、コアをスワップします。

  3. インデクサーをもう一度開始します。

リビルド コアをクリーンアップします

スペースを節約するために、非推奨のインデックス データを古いコアから削除できます。

スペースを節約するために、非推奨のインデックス データを古いコアから削除できます

手記

再構築の理由がインデックスからすべてのPII機密データを削除することである場合は、古いコアを必ず削除してください。古いコアにはまだこのデータが含まれています。

この記事を改善するための提案がある場合は、 お知らせください!