SolrでxDBインデックスを再構築する

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

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

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

  • xConnect Solrコアは2つあり、ライブコア(通常 xdb)とリビルドコアで、リビルドコアは _rebuild サフィックス( xdb_rebuildのように)が付いています。
  • 両方のコアは basic_configs ファイルをベースにしています。
  • xConnectスキーマの変更は両コアに適用されています。

!重要レポートデータベースの再構築はインデックスの再構築をトリガーしません。インデックスは別途再構築する必要があります。

rebuild requestコマンドを呼び出します

インデクサーはホスト場所によってプロセスタイプ、アクセス方法、作業フォルダが変わります:

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

クラウドでホストされたSitecore

プロセスの種類

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

xConnect Collection Search インスタンス上の Azure App Service WebJob。

アクセスウェイ

PowerShell。

Kuduのデバッグコンソール

フォルダ

\App_Data\jobs\continuous\IndexWorker\

D:\local\Temp\jobs\continuous\IndexWorker\\

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

rebuild requestコマンドを呼び出すには:

  1. xConnect Search Indexerが動作しているサーバーにアクセスし、コマンドラインを開きます。
  2. xConnect Collection Search IndexWorkerフォルダにアクセスしてください。
  3. 実行Sitecore.XConnectSearchIndexer.exe -rr(またはSitecore.XConnectSearchIndexer.exe -requestrebuild)を実行します。このコマンドはライブコアに小さなドキュメントを登録し、再構築を開始することを示します。xConnect Searchインデクサーがドキュメントを感知し、再構築プロセスを開始します。

再構築コアを作成する

再建コアがない場合は、以下の手順を踏み入れてください。再構築コアがある場合は、このセクションを飛ばしてください。

!注Managed Cloud解については、このセクションは飛ばしてください。 xdb_rebuildは箱から直接プロビジョニングされているからです。

再構築コアを作成するには:

  1. Solrコアフォルダに移動します: \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. 別名を作成」をクリックします。
  3. xdb_rebuildという別名を作成し、コレクションリストでxdb_rebuild_internalをクリックします。
  4. xdbという2つ目のエイリアスを作成し、コレクションリストでxdb_internalを選択します。
  5. すべてのエイリアス一覧を見るには、URL https:///solr/admin/collections?action=LISTALIASESを使用します。
  6. Solr Schema APIを使って、 \App_Data\solrcommands\schema.json ファイルのスキーマ修正を 両方の コレクションに適用します。

!注接続列にはxdb_internalxdb_rebuild_internalではなくxdbxdb_rebuildを使いましょう。xdbxdb_rebuildはプライマリとセカンダリインデックスのデフォルト名です。インデックス名を変更する場合は、すべての接続文字列を更新しなければなりません。

!注コレクションと別名を同じ名前で使わないでください。

これでSolrCloudファームが作成されました。xConnectで使う前に、xConnectの役割をSolrCloudを使うように設定してください。

コアの再構築

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

rebuild requestコマンドを呼び出します

rebuild requestコマンドを呼び出すには:

  1. xConnect Search Indexerが動作しているサーバーにアクセスし、コマンドラインを開きます。
  2. xConnect CollectionのIndexWorkerフォルダSearch \App_Data\jobs\continuous\IndexWorkerへ行きます。
  3. 実行 Sitecore.XConnectSearchIndexer.exe -rr (または Sitecore.XConnectSearchIndexer.exe -requestrebuild)を実行します。このコマンドはライブコアに小さなドキュメントを登録し、再構築を開始することを示します。xConnect Searchインデクサーがドキュメントを感知し、再構築プロセスを開始します。

手動で再構築ドキュメントを投稿してください

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

  1. xConnect Search Indexerが動作しているサーバーにアクセスし、コマンドラインを開きます。
  2. xConnect Collection Search IndexWorkerフォルダにアクセスしてください: \App_Data\jobs\continuous\IndexWorker
  3. 次のコマンドを実行してください。 <core_name> をxdbコア名(通常は xdb)に置き換えます。

Invoke-WebRequest ` -Uri "https://localhost:8983/solr/<core_name>/update/json/docs?commit=true" ` -Method Post ` -Body '{"id":"xdb-rebuild-status","lastupdated_dt":"2017-05-24T10:15

.603436Z","rebuildstate_l"
,"progresstotal_d"
.0,"progresscurrent_d"
.0}' ` -ContentType "application/json"

このコマンドはSolrのライブコアに再構築開始の合図文書を投稿します。xConnect Searchインデクサーは文書を感知し、再構築プロセスを開始します。これはSitecore.XConnectSearchIndexer.exe -rrを実行するのと同等です。

インデックスの再構築プロセスがすでに実行されている状態で再構築ドキュメントを投稿すると、既存のプロセスはキャンセルされ、新しいプロセスが開始されます。

再建を確認

再構築が完了すると、コアが 入れ替わり、再構築されたコアがライブコアになります。コアを入れ替えると名前は入れ替わりますが、物理フォルダの位置は入れ替わりません:

再建前の名前

再建後の名称

中心地

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

この時点で、リビルドコアはすでに使用されていません。しかし、交換前のライブコアにあったすべてのデータは依然として保持されています。

手動でコアを戻す方法

もし戻す 必要がある(二 度目の再構築を望むなら)まずは、コアが最近交換されたことを確認する必要があります 。戻す のは以下の場合にのみ有効です:

  • xDBコレクションのプロバイダー 変更追跡データは 、コアが交換された以降のすべての変更を保持しています。
  • xConnect Searchは一定期間オフラインになることがあります。これは、スワップされたコアが上記の変更を更新するために必要です。スワップからの時間が短いほど、かかる時間は短くなります。

これらの要件を満たしていると仮定して、以下の指示に従って進めてください。満たさなければ、コアの交換に成功することはできません。

  1. インデクサーを止めろ。

    !警告コアを元に戻す前にインデクサーを停止しないと、インデクサーがデータをスキップすることがあります。

  2. Solrのスワップコマンドを使ってコアを交換します。

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

再建コアをきれいにする

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

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

!注もし再構築の目的がインデックスからすべてのPII機密データを削除することなら、必ず古いコアを削除してください。古いコアにはこのデータがまだ残っています。

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