现在,Lucene.net中支持分词功能, 我下载了语言处理包(Lucene.Net NLS Pack),用其中的Lucene.Net.Analysis.Cn.ChineseAnalyzer建立索引,可是每次建立索引就出现死锁现象。看了sf.net上的这篇文章CJK Analysis maybe cause dead lock,我想到可能是Lucene.Net.Analysis.Cn中代码有Bug,查看了Lucene.Net.Analysis.Cn中的代码,果然有问题,在ChineseTokenizer的第148行,将dataLen == -1改为dataLen == 0, 死锁的问题就解决了。
后来, 发现这篇文章http://ms.mblogger.cn/yysun/posts/6092.aspx中也讲到了Lucene.Net.Analysis.Cn中的Bug。
我将两个bug改了一下,放在博客园上给需要者下载。虽然只改了两行代码,但我想改好了放在这,对一些初次使用者还是有点帮助的。
Bin: https://files.cnblogs.com/dudu/Lucene.Net.Analysis.Cn.rar
Src: https://files.cnblogs.com/dudu/Lucene.Net.NLS.rar
Bin: https://files.cnblogs.com/dudu/Lucene.Net.Analysis.Cn.rar
Src: https://files.cnblogs.com/dudu/Lucene.Net.NLS.rar