Sitecore索引错误 - 根项目未定义

时间:2013-01-14 14:06:44

标签: indexing sitecore

有关以下问题的任何帮助将受到高度赞赏。我们正在使用针对sitecore CMS的高级数据库爬虫,它通常使用Lucene.NET。

当我们尝试登录sitecore的桌面时,我们收到以下错误

Heartbeat 16:23:24 ERROR Exception in alarm clock event subscriber.
Exception: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Source: mscorlib
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Sitecore.Configuration.Factory.AssignProperties(Object obj, Object[] properties)
   at Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] parameters, Object obj, Boolean assert, Boolean deferred, IFactoryHelper helper)
   at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper)
   at Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode, String[] parameters, Boolean assert)
   at Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] parameters, Object obj, Boolean assert, Boolean deferred, IFactoryHelper helper)
   at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper)
   at Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert)
   at Sitecore.Search.SearchManager.get_SearchConfiguration()
   at Sitecore.Data.Managers.IndexingManager.UpdateIndexAsync(Database database)
   at Sitecore.Data.Managers.IndexingManager.AlarmClock_Ring(Object sender, EventArgs args)
   at Sitecore.Services.AlarmClock.Heartbeat_Beat(Object sender, EventArgs e)

2 个答案:

答案 0 :(得分:3)

我发现此错误的最常见原因是您已为主数据库和Web数据库配置了索引,但尚未将内容树发布到Web。

排除故障的步骤: 删除索引配置文件。 登录到sitecore并确保master路径中存在根路径。 如果配置文件包含“web”索引定义,则将根路径(至少)发布到“web”。 放回索引配置文件。

答案 1 :(得分:2)

假设你发布了错误的堆栈跟踪并且你得到的错误是“Root Item Not Defined”,你应该检查你的配置并找到元素:

search/configuration/indexes/index/locations/<any name here>/Root

可以有更多这些节点(每个索引可以有多个位置节点)。

在您的情况下,这些根节点中至少有一个包含不存在的Sitecore路径。将它指向一个现有的项目,它将工作。

您可能已复制了高级数据库抓取工具附带的配置,而未对其进行修改以适合您的环境。