惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
量子位
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
S
SegmentFault 最新的问题
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
Google DeepMind News
Google DeepMind News
小众软件
小众软件
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
雷峰网
雷峰网
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 陈叙远

.netFramework1.1下创建文件几种方式的不同之处 介绍一下Hyper Estraier 关于密码管理,一个很好的思路 无ASPX文件部署(续) NO Stop的GUI 在c#中调用windows脚本的方法 - 陈叙远 - 博客园 .net中的魔字符串 - 陈叙远 - 博客园 有人对开发一个开发平台感兴趣吗? 用来整理桌面的jscript脚本 某知名软件公司的一道笔试题 令人困绕的timer 热烈庆祝第一次博客园&博客堂线下聚会圆满成功 hello customer & order----你是哪一级? 立即释放.net下的com组件 笔试题系列之四 java和c#语言上的一个不同之处 - 陈叙远 - 博客园 笔试题系列之三 笔试题系列之二 中秋佳节,献上笔试题一道,祝各位事业蒸蒸日上!
发现了lucene一个bug
陈叙远 · 2006-12-20 · via 博客园 - 陈叙远

版本:lucene-2.0.0
现象:半角日文片假名(カタカナ)无法正确建立索引
模块:CJKAnalyzer
问题定位:CJKTokenizer.java 148行附近
if (ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
   /** convert  HALFWIDTH_AND_FULLWIDTH_FORMS to BASIC_LATIN */
   int i = (int) c;
   i = i - 65248;
   c = (char) i;
}
在该行代码中,执行了全角/半角转换
判断条件为ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
转换方式为i = i - 65248;
其中,在Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS的定义中
全角英文/数字以及半角日文片假名均属于其中
但,实际上只有65281-65374的字符可以通过减去65248来进行转换
半角日文片假名这样做就错了
呵呵,呵呵
lucene.net是否有此问题我尚未检查