在使用KTDictSeg1.3.1.0+lucene.net 2.0.0.2+Highlighter.Net2.0.0.1
做搜索引擎的时候但遇到重复的关键词高亮类就会出错,请问如何解决
测试地址:
http://so.aspdiy.net 输入"中国中国"就出错.
已添加项。字典中的关键字:“title:中国”所添加的关键字:“title:中国”
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentException: 已添加项。字典中的关键字:“title:中国”所添加的关键字:“title:中国”
源错误:
行 71:
行 72: // SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter("<font color=\"red\">", "</font>");
行 73: Highlighter hl = new Highlighter( new QueryScorer(query));
行 74:
行 75: TimeSpan ts = System.DateTime.Now.Subtract(dt);
源文件: e:\website\net\abd-sqlserver\Default.aspx.cs 行: 73
堆栈跟踪:
[ArgumentException: 已添加项。字典中的关键字:“title:中国”所添加的关键字:“title:中国”]
System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) +2837155
System.Collections.Hashtable.Add(Object key, Object value) +11
Lucene.Net.Search.PhraseQuery.ExtractTerms(Hashtable queryTerms) +147
Lucene.Net.Search.BooleanQuery.ExtractTerms(Hashtable terms) +121
Lucene.Net.Highlight.QueryTermExtractor.GetTerms(Query query, Hashtable terms, Boolean prohibited, String fieldName) +100
Lucene.Net.Highlight.QueryTermExtractor.GetTerms(Query query, Boolean prohibited, String fieldName) +168
Lucene.Net.Highlight.QueryTermExtractor.GetTerms(Query query, Boolean prohibited) +42
Lucene.Net.Highlight.QueryTermExtractor.GetTerms(Query query) +31
Lucene.Net.Highlight.QueryScorer..ctor(Query query) +31
_Default.Page_Load(Object sender, EventArgs e) in e:\website\net\abd-sqlserver\Default.aspx.cs:73
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061