请熟悉lucene.net,用lucene.net开发过项目的大侠帮忙分析一下问题
请熟悉lucene.net,用lucene.net开发过项目的大侠帮忙分析一下问题。
我们公司搜索采用lucene.net 分词器lucene.net不多,采用的是Lucene.Net.Analysis.China.dll 。
也是从网上下载的一个第三方分词器。字词分词还能基本满足需求。
现在项目完成上线,问题是,网站的服务器内存不断上涨,到最后“System.OutOfMemoryException”的异常 网站死掉,无法打开。
对于lucene.net,耗费性能的排序去掉了,要不死的更快。
对于搜索,IndexSearcher每次打开都及时关闭,清理了。
下面是异常日志,还请对lucene.net有研究的大侠,帮忙分析一下。
时间:2010-12-25 07:57:58,843 线程ID:[5] 日志级别:ERROR 类:Gk.Framework.Lucene.AbstractBase.AbstractLuceneBase property:[(null)] - 描述:引发类型为“System.OutOfMemoryException”的异常。
System.OutOfMemoryException: 引发类型为“System.OutOfMemoryException”的异常。
在 Lucene.Net.Analysis.China.Graph.x33543d3035807139.GetEnumerator()
在 Lucene.Net.Analysis.China.Graph.xef2f0a201b1de90d.xc82b0b6ba0540317()
在 Lucene.Net.Analysis.China.x93a9632f89e5228b.xa19ed99e4a8e3c37(xbe3359edea77d2e1 x8bab43510084bb0f)
在 Lucene.Net.Analysis.China.ChineseTokenizer.xd32c157ba2a173fa()
在 Lucene.Net.Analysis.China.ChineseTokenizer.Next()
在 Lucene.Net.Analysis.China.ChineseFilter.Next()
在 Lucene.Net.Highlight.Highlighter.GetBestTextFragments(TokenStream tokenStream, String text, Boolean mergeContiguousFragments, Int32 maxNumFragments)
在 Lucene.Net.Highlight.Highlighter.GetBestFragments(TokenStream tokenStream, String text, Int32 maxNumFragments)
在 Lucene.Net.Highlight.Highlighter.GetBestFragment(TokenStream tokenStream, String text)
在 Lucene.Net.Highlight.Highlighter.GetBestFragment(Analyzer analyzer, String fieldName, String text)
在 GongKong.Projects.UniteSearch.Indexer.ZhiDaoIndexer.BuildHighlight(String field, String fieldValue, Query keyquery)
在 Gk.Framework.Lucene.AbstractBase.AbstractLuceneBase.SearchIndex(Int32 pageSize, Int32 pageIndex, Int32& recordCount, String sortField, Boolean isAsc, Dictionary`2 condition)