Indexing Sitecore核心数据库索引更新问题

Indexing Sitecore核心数据库索引更新问题,indexing,lucene,rebuild,Indexing,Lucene,Rebuild,我们使用的是一个多服务器环境,配置1个CMS和2个CD。CMS的核心和网络仅由CD 2和CD 1共享,作为其自己的网络和核心 问题是-CD2的日志文件正在捕获以下提到的错误: ManagedPoolThread #14 00:00:05 INFO Job started:Index_Update_IndexName=sitecore_core_index ManagedPoolThread #14 00:00:05 ERROR Exception Exception:

我们使用的是一个多服务器环境,配置1个CMS和2个CD。CMS的核心和网络仅由CD 2和CD 1共享,作为其自己的网络和核心

问题是-CD2的日志文件正在捕获以下提到的错误:

    ManagedPoolThread #14 00:00:05 INFO  Job started:Index_Update_IndexName=sitecore_core_index
    ManagedPoolThread #14 00:00:05 ERROR Exception
    Exception: System.Reflection.TargetInvocationException
    Message: Exception has been thrown by the target of an invocation.
    Source: mscorlib
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments,   Signature sig, Boolean constructor)
    at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[]  parameters, Object[] arguments)
    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 (Object , Object[] )
    at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
    at Sitecore.Jobs.Job.ThreadEntry(Object state)

  Nested Exception

  Exception: System.InvalidOperationException
  Message: Configuration
  Source: Sitecore.ContentSearch.LuceneProvider
  at Sitecore.ContentSearch.LuceneProvider.LuceneIndex.EnsureInitialized()
  at Sitecore.ContentSearch.LuceneProvider.LuceneIndex.CreateUpdateContext()
  at Sitecore.ContentSearch.LuceneProvider.LuceneIndex.PerformUpdate(IEnumerable`1 indexableUniqueIds, IndexingOptions indexingOptions)
正如我们所研究的,我们发现,当核心数据库索引更新出现问题时,会捕获这种类型的错误。此外,对日志进行爬网并检查\App\u Config\Include\Sitecore.ContentSearch.Lucene.Index.Core中的配置也证实了这一点,该配置已为索引更新定义了此作业

抓取日志条目

    INFO  [Index=sitecore_core_index] IntervalAsynchronousUpdateStrategy executing.
    INFO  [Index=sitecore_core_index] Event Queue is forced   
作为下一步,我们采取了以下步骤,但问题仍然存在:

删除旧的核心索引并为CMS和CD2重建

我的问题是:

如果CMS和CD2有相同的内核,那么我们是否需要为这两个环境重建索引,因为根据我的信息,索引会保存在磁盘中

其次,我们只面临CD2的缓存问题,这与索引更新有关吗

第三,CMS和CD2中存在配置详细信息Sitecore.ContentSearch.Lucene.Index.Core,这也是导致这些异常的原因,因为两个进程正在为相同的核心索引更新索引


最后,我们为CD1提供了一个单独的核心和web,并启用了复制功能,但我们仍然看到这些错误也在CD1中被捕获。我们在过去几个月里看到了这种错误,最近错误的频率增加了,因为它正在消耗CD2中的大量物理内存,并导致应用程序的响应时间增加。

我发现了我的环境中的问题所在。查看日志文件,在看到该版本之前,是否看到以下内容:

ManagedPoolThread#11 10:07:24信息从数据库加载字典。域:“字典”。语言:“en”。 ManagedPoolThread#11 10:07:24保存{sitecore file path}\Website\temp\dictionary.dat时出错。 异常:System.IO.IOException 消息:文件“{sitecore file path}\Website\temp\dictionary.dat”已存在。 资料来源:mscorlib 在System.IO.\uuu Error.WinIOError(Int32 errorCode,字符串maybeFullPath) 在System.IO.FileStream.Init(字符串路径、文件模式、文件访问权限、Int32权限、布尔用户权限、文件共享、Int32缓冲大小、文件选项选项、安全属性secAttrs、字符串msgPath、布尔bFromProxy、布尔useLongPath、布尔checkHost) 位于System.IO.FileStream..ctor(字符串路径、文件模式、文件访问权限、文件共享、Int32 bufferSize、文件选项选项、字符串msgPath、布尔bFromProxy) 位于System.IO.FileStream..ctor(字符串路径、文件模式、文件访问权限、文件共享共享、Int32 bufferSize) 在Sitecore.Globalization.Translate.Save()中

如果是这样,请删除并重新启动您的站点。这将解决您看到的问题