Sitecore Solr从索引中删除版本

Ian*_*ham 8 c# solr sitecore sitecore7

我正在使用Sitecore 7和Solr Search提供程序.我目前有网站设置来在发布项目时更新搜索索引.

我注意到,当CMS作者创建项目的不同版本然后将这些版本提交到索引中时,项目的先前版本不会从索引中删除,因此索引包含同一Sitecore项目的多个版本.

有没有人知道我可以更改的任何设置,以确保在添加新版本之前从索引中删除了以前的版本?

我尝试运行一些代码,如下所示,在发布之前从索引中删除项目,但索引上的Delete方法似乎没有删除任何内容.

var indexableItem = (SitecoreIndexableItem)item;
ContentSearchManager.GetIndex(index).Delete(indexableItem.UniqueId
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢.

Ian*_*ham 3

我就此事联系了 Sitecore,他们表示这可能是一个错误,他们正在调查。

作为解决方法,Sitecore 建议使用入站和出站筛选器来筛选索引中的项目。

以下是有关此内容的更多信息:

http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/04/Sitecore-7-Inbound-and-Outbound-Filter-Pipelines.aspx

更新:@Jason 在下面的评论中指出,现在是对此的支持修复 - 请参阅知识库文章 - https://kb.sitecore.net/articles/992608