2017-06-14 3 views
0

J'ai écrit un code pour rafraîchir un index lorsqu'un élément est ajouté à Sitecore programme. Maintenant que le système en direct est composé de 1 cm et 2 serveurs de CD que je dois mon code pour déclencher aussi l'indexation à rafraîchir sur les serveurs de CD (malheureusement ma machine dev est juste une seule boîte, je ne peux pas tester cette complètement) . J'ai regardé en ligne mais ne peux rien trouver à ce sujet en déclenchant un ré-index par programme.Actualiser l'index Sitecore pour inclure CD

La question est de savoir si je dois écrire un code pour cela ou ne Sitecore faire par défaut et si je ne dois d'écrire du code, ce que quelqu'un a des idées que je vais à ce sujet. Mon code actuel est ci-dessous.

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)); 

Ma config pour l'indice a la stratégie de remotebuild a permis

<strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/remoteRebuild" /> 
+0

De mon point de vue, il n'y a pas besoin de déclencher une reconstruction d'index sur les serveurs de CD. Une fois que l'utilisateur a ajouté un article, vous pouvez le publier à la base de données cible (Web) qui sera ensuite déclencher l'indice reconstruire. À partir du code que vous avez fourni, l'élément sera toujours nul puisque l'article a été ajouté sur le serveur CM (maître) et est toujours pas présent sur les serveurs de CD (Web) –

Répondre

0

Comme @Hishaam Namooya a souligné dans son commentaire, la publication de maître Web devrait déclencher les mises à jour de l'index web de la boîte, sauf si vous avez désactivé quelque chose dans les configurations. Notez que les éléments ne seront pas publiés à moins qu'ils ne soient dans un état de workflow final. Par conséquent, si vous souhaitez un processus entièrement automatisé qui crée l'élément, met à jour l'index local et met immédiatement à jour l'index Web, vous devez également pour mettre à jour l'état du workflow vers votre état final approuvé, puis déclencher une publication de l'élément.