我遇到了业务需求,我想从 master 和 web 中删除项目,并从 solr 索引中删除相应的项目。企业不想发布父项,因为我的兄弟或父项可能会发生变化,因此我无法触发任何策略,例如onPublishEndAsync、 onPublishEndAsyncSingleInstance onPublishEndAsyncPreview在这里我正在尝试类似下面的操作,但它不起作用
var ParentItem = item.Parent;
using (new EditContext(item))
{
if (Sitecore.Configuration.Settings.RecycleBinActive)
item.Recycle();
else
item.Delete();
}
if (item == null)
return;
ISearchIndex index = ContentSearchManager.GetIndex((SitecoreIndexableItem)ParentItem );
if (index == null)
return;
index.Refresh(new SitecoreIndexableItem(ParentItem )); or
index.RefreshAsync(new SitecoreIndexableItem(item), IndexingOptions.ForcedIndexing, new System.Threading.CancellationToken());
我在 sitecore 日志或 solr 日志文件中没有收到任何错误,但索引没有删除项目