从自定义sitecore 7索引中删除记录

本文关键字:删除 记录 索引 自定义 sitecore | 更新日期: 2023-09-27 18:15:44

我在Sitecore中创建了一个自定义索引,我想删除一条记录。我必须指出,这个索引不索引站点核心项目。

我正在尝试这样做:

 public void Delete(IIndexableUniqueId uniqueId)
 {
   ContentSearchManager.GetIndex(Constants.MyIndexName).Delete(uniqueId);
 }

从自定义sitecore 7索引中删除记录

如果你有一个自定义索引(不是sitecore项目),你应该索引代表唯一id的字段。

[IndexField("_uniqueid")]
    public override IIndexableUniqueId UniqueId
    {
      get
      {
        return new IndexableUniqueId<string>("uniqueidvalue");
      }
    }

我将使用"uniqueidvalue"从索引中删除,如下所示:

public void Delete(IIndexableUniqueId uniqueidvalue)
{
  using (IProviderDeleteContext deleteContext = ContentSearchManager.GetIndex(Constants.MyIndexName).CreateDeleteContext())
  {
    deleteContext.Delete(uniqueidvalue);
    deleteContext.Commit();
  }
}