Mysoo2 站内搜索引擎安装指南
百度阿拉丁平台剑指垂直搜索
谷歌测试在搜索建议中放广告
谷歌与百度的八年“暗战”
Google公布2008年度搜索排行榜
传戴尔PC将放弃谷歌选择微软Live搜索引擎
雅虎高级搜索专家陆奇将任微软数字部门高管
微软不娶雅虎 只想买搜索业务
微软退出搜索市场能对Google造更大伤害
雅虎打造BOSS垂直搜索引擎
谷歌百度口水战升级 比拼"谁更懂中文"
从百度“竞价门”看企业的社会责任感
山寨版搜索引擎“百谷虎”雷倒网友
雅虎搜索技术高管跳槽至微软
面对“搜索门” 百度公司力挽声誉
内容更新频率对SEO的影响


 ·谈谈搜索巨擎--Google的文件系统
 ·Google式的搜索引擎实现
 ·Nutch爬虫工作流程及文件格式详细...
 ·数学之美系列三:隐含马尔可夫模型
 ·数学之美系列二:谈谈中文分词





给nutch 0.8添加中文分词(二分法)


 共1页 

  本文旨在给nutch添加二分法中文分词,可以预计的结果是汉字的索引不再是一个个字分开来的,从而会大大的增加搜索的准确率

  修改的文件:NutchAnalysis.jj (在nutch的analysis包里面)

  NutchAnalysis.jj

  在TOKEN里面增加(前后有参照)

  | <SIGRAM: <CJK> >

  | <CHINAWORD: (<CHINESE><CHINESE>)>

  {

  //String newimage=new String();

  //for (int i = 0; i < image.length()-1; i++){

  //  newimage += "" + image.charAt(i) + image.charAt(i + 1) + " ";

  //}

  //matchedToken.image += " ";

  input_stream.backup(1);

  }

  // irregular words

  | <#IRREGULAR_WORD: (<C_PLUS_PLUS>|<C_SHARP>)>

  | <#C_PLUS_PLUS: ("C"|"c") "++" >

  | <#C_SHARP: ("C"|"c") "#" >

  修改

  |  <#CJK:                                        // non-alphabets,but not chinese

  [

  "\u3040"-"\u318f",

  "\u3300"-"\u337f",

  "\u3400"-"\u3d2d",

  "\uf900"-"\ufaff"

  ]

  >

  |  <#CHINESE:                                        // non-alphabets

  [

  "\u4e00"-"\u9fff"

  ]

  >

  | < #DIGIT:                                       // unicode digits

  [

  "\u0030"-"\u0039",

  ...

  修改

  String term() :

  {

  Token token;

  }

  {

  ( token=<WORD> | token=<ACRONYM> | token=<SIGRAM> | token=<CHINAWORD>)

  { return token.image; }

  }

  然后javacc NutchAnalysis.jj

  在nutch根目录下面运行ant进行编译,然后就可以测试抓去了,我们用luke来分析index所以,可以看到都是按照二分法进行索引的

  但是现在localhost还不能搜索出来结果,是因为默认的搜索还是采用的单字分开的,下回将解释如何来修改以支持二分法分词

 共1页 

来源: | 作者: heack | 发表时间: 2007-2-2 10:30:00

 

 


Copyright © 2000-2008 Mysoo.com.cn, All Rights Reserved Mysoo.com.cn 版权所有                                  把Mysoo添加到 Google   沪ICP备06051139