Umbraco-System.Exception:Lucene.Net.Index.CorruptIndexException

问题描述 投票:0回答:1

我一直在随机管理的Umbraco Azure应用程序抛出“损坏的索引异常”,可以通过重新启动页面来解决此问题,但我们必须避免这种情况。

我在Lucene上遇到问题,出现了“ CorruptIndexException”。我一直在搜索(实际上看到有人问过同样的事情,但那是在2013年,没有人回应),但什么也没得到。

问题似乎是随机的,Umbraco Azure应用程序崩溃了,我们必须再次重新启动页面。我们希望避免每次出现此错误时都重新启动页面。

关于此腐败索引异常的解决方案有任何方法或信息吗?

跟踪日志(局部):

System.Exception: Exception while creating a value. ---> Lucene.Net.Index.CorruptIndexException: doc counts differ for segment _3s8: fieldsReader shows 1 but segmentInfo shows 4
   at Lucene.Net.Index.SegmentInfos.FindSegmentsFile.Run(IndexCommit commit)
   at Lucene.Net.Index.DirectoryReader.DoReopenNoWriter(Boolean openReadOnly, IndexCommit commit)
   at Lucene.Net.Index.DirectoryReader.DoReopen(Boolean openReadOnly, IndexCommit commit)
   at Lucene.Net.Index.DirectoryReader.Reopen()
   at Examine.LuceneEngine.Providers.LuceneSearcher.ReaderReopener.MaybeReopen()
   at Examine.LuceneEngine.Providers.LuceneSearcher.ReaderReopener.ScheduleReopen()
   at Examine.LuceneEngine.Providers.LuceneSearcher.ValidateSearcher()
   at Examine.LuceneEngine.Providers.LuceneSearcher.GetSearchFields()
   at UmbracoExamine.UmbracoExamineSearcher.GetSearchFields()
   at Examine.LuceneEngine.Providers.BaseLuceneSearcher.CreateSearchCriteria(String type, BooleanOperation defaultOperation)
   at UmbracoExamine.UmbracoExamineSearcher.CreateSearchCriteria(String type, BooleanOperation defaultOperation)
   at Examine.LuceneEngine.Providers.BaseLuceneSearcher.CreateSearchCriteria(String type)
   at Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedMediaCache.GetUmbracoMediaCacheValues(Int32 id)
   at Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedMediaCache.<>c__DisplayClass38_0.<GetCacheValues>b__0()
   at Umbraco.Core.Cache.DictionaryCacheProviderBase.<>c__DisplayClass10_0.<GetSafeLazy>b__0()```
   --- End of inner exception stack trace ---
c# lucene umbraco
1个回答
0
投票

我很早以前也遇到过类似的问题,在Azure中运行的Umbraco解决方案在似乎随机的时间停止了,我不得不重新启动应用程序服务。

我正在运行Umbraco 8,因此我不确定同一件事是否对您有用,但就我而言,在web.config中向appsettings添加2个键即可解决。

    <add key="Umbraco.Core.LocalTempStorage" value="EnvironmentTemp" />
    <add key="Umbraco.Examine.LuceneDirectoryFactory" value="Examine.LuceneEngine.Directories.SyncTempEnvDirectoryFactory, Examine" />

祝您好运,它也会为您服务。

© www.soinside.com 2019 - 2024. All rights reserved.