设为首页 收藏本站
查看: 1034|回复: 0

[经验分享] solr 中文分词 mmseg4j 使用例子 ,NGramTokenizerFactory

[复制链接]

尚未签到

发表于 2015-7-17 00:30:55 | 显示全部楼层 |阅读模式
solr 中文分词 mmseg4j 使用例子
  

  版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原文出处, 即下面的声明.
  
  原文出处:http://blog.chenlb.com/2009/04/solr-chinese-segment-mmseg4j-use-demo.html
  mmseg4j 第一个版本就可以方便地与 solr 集成,在 google code 上面有简单的说明,第一版的发布博客也有简单的使用说明:中文分词 mmseg4j。为了更清楚说明在 solr 中使用 mmseg4j 中文分词,还是写篇博客吧。
  目前有两个版本的 mmseg4j,1.7 版比较耗内存(一个词库目录就要 50M 左右),所以在默认jvm内存大小会抛出 OutOfMemoryErroy。我这里示例两个词库目录,所以不用目前最新版 1.7.2。而用 1.6.2 版。下载:mmseg4j-1.6.2 和 词库,或就下载一个源码包(包括了词库,从源码构建请看:中文分词 mmseg4j 1.7.2 版发布),把 mmseg4j-all-1.6.2.jar 放到 solr.home/lib 。
  mmseg4j 在 solr 中主要支持两个参数:mode、dicPath。mode 表示是什么模式分词(有效值:simplex、complex、max-word,如果输入了无效的默认用 max-word。)。dicPath 是词库目录可以是绝对目录,也可以是相对目录(是相对 solr.home 目录下的,dic 就会在 solr.home/dic 目录下找词库文件),如果不指定就是默认在 CWD/data 目录(程序运行当前目录的data子目录)下找。
  改 solr 配置文件,主要是修改 schema.xml,我添加三个 field type,如下:


  •   
  •       
  •          
  •          
  •       
  •   
  •   
  •       
  •          
  •          
  •       
  •   
  •   
  •       
  •          
  •          
  •       
  •   
                    说明:有多少不同的词库目录就会有多少个词库数组结构的实例,由上面的配置,会有两个实例。注意用 1.7.2 版会内存溢出。
  定义几个字段:


  •   
  •   
  •   
     再添加个 copyField(最后面加吧):


  •   
  •   
    现在 mmseg4j 在 solr 中的使用配置好了。接下来安装 solr 到 tomcat。
  solr 1.3 版早就出了,我就用它为示例的 solr。下载:solr-1.3.0,如:解压放到 N:/OpenSource/apache-solr-1.3.0。在 tomcat 中怎么安装 solr 请看:Solr 使用入门介绍,以搜索论坛帖子为示例,  solr install , solr tomcat, solr on tomcat。
  我是用 TOMCAT_HOME/conf/Catalina/localhost/solr.xml 的安装方式,指到 n:/OpenSource/apache-solr-1.3.0/example/solr。tomcat 6 可能没有这个目录,手动创建这目录。
  启动 tomcat 可以看到 mmseg4j 的相关日志,然后在 http://localhost:8080/solr/admin/analysis.jsp 可以看 mmseg4j 的分词效果。在 Field 的下拉菜单选择 name,然后在应用输入 complex。分词的结果,如下图:

  mmseg4j solr analysis 调试,点击放大
  好了,可以运行起来了,那就添加个文档试下,在 n:/OpenSource/apache-solr-1.3.0/example/exampledocs 下创建 mmseg4j-solr-demo-doc.xml 文档:


  •   
  •       
  •         1  
  •         京华时报2009年1月23日报道 昨天,受一股来自中西伯利亚的强冷空气影响,本市出现大风降温天气,白天最高气温只有零下7摄氏度,同时伴有6到7级的偏北风。  
  •       
  •       
  •         2  
  •         昨日金正日抵达长春市,进行两天的长春市内电话系统考察。  
  •       
  •       
  •         3  
  •         陈教授正在研究生命起源,他的研究生正在打球。  
  •       
  •       
  •         4  
  •         中国人民银行是中华人民共和国的中央银行。  
  •       
  •   
  1 京华时报2009年1月23日报道 昨天,受一股来自中西伯利亚的强冷空气影响,本市出现大风降温天气,白天最高气温只有零下7摄氏度,同时伴有6到7级的偏北风。   2 昨日金正日抵达长春市,进行两天的长春市内电话系统考察。   3 陈教授正在研究生命起源,他的研究生正在打球。   4 中国人民银行是中华人民共和国的中央银行。     然后提交到 solr,在 cmd 下运行 post.jar,如下:
  N:\OpenSource\apache-solr-1.3.0\example\exampledocs>java -Durl=http://localhost:8080/solr/update -Dcommit=yes -jar post.jar mmseg4j-solr-demo-doc.xml
SimplePostTool: version 1.2
SimplePostTool: WARNING: Make sure your XML documents are encoded in UTF-8, other encodings are not currently supported
SimplePostTool: POSTing files to http://localhost:8080/solr/update..
SimplePostTool: POSTing file mmseg4j-solr-demo-doc.xml
SimplePostTool: COMMITting Solr index changes..
  注意:mmseg4j-solr-demo-doc.xml 要是 UTF-8 格式,不然提交后会乱码。
  看下是否有数据:http://localhost:8080/solr/select/?q=*:*,有数据,应该正常。
  然后,找“西伯利亚”.
  simple:http://localhost:8080/solr/select?indent=on&q=simple:%E8%A5%BF%E4%BC%AF%E5%88%A9%E4%BA%9A&hl=on&hl.fl=simple%2Ccomplex%2Ctext&fl=id,结果如下:


  •   
  •   

  •   
  • 0  
  • 0  
  •    
  •   id  
  •   on  
  •   simple:西伯利亚  
  •   simple,complex,text  
  •   on  
  •    
  •   
  •   
  •   
  •   
     0  0     id   on   simple:西伯利亚   simple,complex,text   on         comlex:http://localhost:8080/solr/select?indent=on&q=complex:%E8%A5%BF%E4%BC%AF%E5%88%A9%E4%BA%9A&hl=on&hl.fl=simple%2Ccomplex%2Ctext&fl=id,结果如:


  •   
  •   

  •   
  • 0  
  • 0  
  •    
  •   id  
  •   on  
  •   complex:西伯利亚  
  •   simple,complex,text  
  •   on  
  •    
  •   
  •   
  •    
  •   1  
  •    
  •   
  •   
  •    
  •    
  •     京华时报2009年1月23日报道 昨天,受一股来自中西伯利亚的强冷空气影响,本市出现大风降温天气,白天最高气温只有零下7摄氏度,同时伴有6到7级的偏北风。  
  •    
  •    
  •   
  •   
     0  0     id   on   complex:西伯利亚   simple,complex,text   on         1          京华时报2009年1月23日报道 昨天,受一股来自中西伯利亚的强冷空气影响,本市出现大风降温天气,白天最高气温只有零下7摄氏度,同时伴有6到7级的偏北风。          text(其实是 max-word):http://localhost:8080/solr/select?indent=on&q=text:%E8%A5%BF%E4%BC%AF%E5%88%A9%E4%BA%9A&hl=on&hl.fl=simple%2Ccomplex%2Ctext&fl=id,结果:


  •   
  •   

  •   
  • 0  
  • 15  
  •    
  •   id  
  •   on  
  •   text:西伯利亚  
  •   simple,complex,text  
  •   on  
  •    
  •   
  •   
  •    
  •   1  
  •    
  •   
  •   
  •    
  •    
  •     京华时报2009年1月23日报道 昨天,受一股来自中西伯利亚的强冷空气影响,本市出现大风降温天气,白天最高气温只有零下7摄氏度,同时伴有6到7级的偏北风。  
  •    
  •    
  •   
  •   
下面是NGramTokenizerFactory分词设置
  NGramTokenizerFactory
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-87388-1-1.html 上篇帖子: 基于Solr的空间搜索 下篇帖子: Solr参数(DisMax Event Facet)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表