Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何更新Sitecore索引中的单个项目?_C#_Lucene_Sitecore_Lucene.net_Sitecore6 - Fatal编程技术网

C# 如何更新Sitecore索引中的单个项目?

C# 如何更新Sitecore索引中的单个项目?,c#,lucene,sitecore,lucene.net,sitecore6,C#,Lucene,Sitecore,Lucene.net,Sitecore6,在我的Sitecore内容树中,有几千个项目,我只想通过编程更改其中的几个项目。与重建整个lucene索引(这需要花费大量时间)不同,我希望实时更新我正在更改的每个项目的索引项。我试过了 item.Database.index.UpdateItem(item); 但是它已经过时了,要求我使用SearchManager 有人能指导我如何更新给定项目的索引项吗 PS:我正在更改桌面应用程序中的项目,而不是网站。尝试执行HistoryEngine.RegisterItem…方法之一,例如: item

在我的Sitecore内容树中,有几千个项目,我只想通过编程更改其中的几个项目。与重建整个lucene索引(这需要花费大量时间)不同,我希望实时更新我正在更改的每个项目的索引项。我试过了

item.Database.index.UpdateItem(item);
但是它已经过时了,要求我使用
SearchManager

有人能指导我如何更新给定项目的索引项吗


PS:我正在更改桌面应用程序中的项目,而不是网站。

尝试执行
HistoryEngine.RegisterItem…
方法之一,例如:

item.Database.Engines.HistoryEngine.RegisterItemSaved(item, new ItemChanges(item));
item.Database.Engines.HistoryEngine.RegisterItemCreated(item);
item.Database.Engines.HistoryEngine.RegisterItemMoved(item, oldParentId);

实际上,索引上没有更新操作,所以请随意执行删除/添加操作。

在以编程方式更改Sitecore项目后,索引中的条目是否会自动更新?我正在更改桌面应用程序中的项目,因此我必须显式更新索引。在网站上,它会自动更新索引。嗨,玛拉斯,我试着用你给出的语句,但是索引没有更新。我的要求不是注册条目,而是实时更新索引。嗨,Maras,之前我只尝试了RegisterItemCreated()方法,因为我正在创建新项目,但它不起作用。现在我已经使用了三个给定的语句,在我创建项目并对其进行任何更改之后,现在索引正在更新。谢谢