プログラムでSitecoreにアイテムが追加されたときに、インデックスを更新するコードを書きました。ライブシステムは1台のCMと2台のCDサーバーで構成されているので、インデックス作成をCDサーバーでリフレッシュするようにコードを設定する必要があります(残念ながら、私の開発マシンは単なるボックスなので、 。私はオンラインで見てきましたが、再インデックスをプログラムでトリガするときはこれについて何も見つかりませんでした。CDを含めるためにSitecoreインデックスを更新する
これはコードを書く必要がありますか、またはデフォルトでこれを行うのですか?コードを書く必要がある場合は、どのようにすればよいか考えてください。私の現在のコードは以下の通りです。インデックスの
ISearchIndex index = ContentSearchManager.GetIndex("GeorgeDrexler_web_index");
Sitecore.Data.Database database = Sitecore.Configuration.Factory.GetDatabase("web");
Item item = database.GetItem("/sitecore/content/GeorgeDrexler/Global/Applications");
index.Refresh(new SitecoreIndexableItem(item));
私のconfigがremotebuild戦略は、@Hishaam Namooyaは彼のコメントで指摘したように、マスターからウェブへの公開は、箱から出してウェブインデックスの更新をトリガすべき
<strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/remoteRebuild" />
私の見解では、CDサーバー上の再構築インデックスを起動する必要はありません。ユーザーがアイテムを追加すると、それをターゲットデータベース(Web)に公開して、リビルドインデックスをトリガーすることができます。指定したコードから、項目はCMサーバー(マスター)に追加され、CDサーバー(Web)にはまだ存在しないため、項目は常にNULLになります。 –