Lucene.Net的语言处理包中Lucene.Net.Analysis.Cn的Bug

    最近在对博客园的搜索程序进行改进。博客园的搜索功能用的是Lucene.net搜索引擎,当时博客园增加搜索功能时,Lucene.net还不支持中文分词, 后来得到http://www.cnblogs.com/yuhen/的帮助才解决这个问题。(最近博客园的搜索程序出了问题, 暂时改用google)。
    现在,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
posted @   dudu  阅读(9585)  评论(19编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示