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

推荐订阅源

MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
V
Visual Studio Blog
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
C
Check Point Blog
D
Docker
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
博客园 - 叶小钗
博客园 - 聂微东
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
腾讯CDC
S
SegmentFault 最新的问题
博客园 - 【当耐特】

博客园 - 陈叙远

.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是否有此问题我尚未检查