播客 > 玩代码  >  Lucene中使用中文分词SharpICTCLAS的Bug修正  | 登录  | RSS订阅地址  | Code平台

Lucene中使用中文分词SharpICTCLAS的Bug修正

分词的时候索引超出Bug修正:
Span.cs里面的private int GetFrom 这个方法修改
原片断

for(i = 1; i < Predefine.MAX_WORDS_PER_SENTENCE && 
nWordsIndex < pWordItems.Length ; i++)




for (i = 1; 
i < Predefine.MAX_WORDS_PER_SENTENCE &&
 nWordsIndex < pWordItems.Length && 
i<m_nWordPosition.Length-1; 
i++)

搜索时空格导致的位置偏移错误记录,而高亮错位修正:

Token token = new Token(result, iStart, iEnd); 

后面加上

int Jloop=iEnd,LoopCount=0;
    while( (Jloop<strText.Length) && (System.Char.IsWhiteSpace(strText[Jloop++]))){
        LoopCount++;
    }
    BasePosition=LoopCount;
    //System.Web.HttpContext.Current.Response.Write(",BasePosition="+BasePosition.ToString()+"</br><hr>");
//为下一个词做准备 
if(LoopCount>0)    iEnd+=BasePosition;



天气:大雨,ccdot发表于2007-6-22 19:31:23,阅读了1980次,共有个1回复.

看得我头疼!

niceidea post in 2007-6-23 13:41:42 #1  
  1. 想要转载我文章的人滚远远的,能想多远,就滚多远。
  2. 不要提交任何带有网址URL信息的评论.
  3. 需要更多信息?请使用站内搜索,郁闷了?听听我在听什么吧!
用户名:*验证:看不清楚请点击刷新验证码*
内容: