博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lucene5学习之使用Ansj-seg分词器
阅读量:5750 次
发布时间:2019-06-18

本文共 1429 字,大约阅读时间需要 4 分钟。

    这回我们来玩玩ansj分词器,由于Lucene5.0在API上有点小变化,需要修改ansj分词器源码,重新打包jar包,然后mvn install到本地仓库才能引用到项目中。至于怎么修改以及怎么打包jar,我就不过多说明了,有点麻烦,我想偷个懒,哈哈。这里我就直接把打包后的jar分享给你们,jar包注意在底下的附件里下载。

    我就说说,怎么在项目中使用ansj分词器,首先pom.xml引入ansj分词器的依赖。

 

Xml代码  
  1. <!-- ansj-seg -->  
  2. <dependency>  
  3.     <groupId>org.ansj</groupId>  
  4.     <artifactId>ansj_seg</artifactId>  
  5.     <version>2.0.8</version>  
  6. </dependency>  

 然后在你的classpath下导入library.properties自定义词典配置文件

Properties代码  
  1. #redress dic file path  
  2. ambiguityLibrary=library/ambiguity.dic  
  3. #path of userLibrary this is default library  
  4. userLibrary=library  
  5. #set real name  
  6. isRealName=true  

请注意 library.properties文件的存放路径,如果你仅仅一个普通的web project,请把library.properties配置文件copy到src目录下,如果你是Maven Web Project,请把library.properties配置文件copy到src/main/resources目录下,如图:

ambiguityLibrary是用来配置歧义词的,比如动漫游戏,其实漫游也是一个词,但我们知道是动漫,游戏两个词语,具体可以打开ambiguity.dic字典文件查看,配置规则是:

 

动漫游戏动漫n游戏n

即短语\t词1\t词1的词性\t词2\t词2的词性.......\t词N\t词N的词性(关于词性说明请查看底下的附件)

注意中间是用\t制表符进行分割的,userLibrary是用户自定义词典,比如一些网络新词,你可以放在自定义词典中,如:童鞋,木有,么么哒之类的。

userLibrary可以配置为一个具体的dic词典文件的路径,也可以配置为一个文件夹,ansj分词器内部会自动加载这个文件夹下的所有后缀为.dic文件作为自定义词典,默认ansj分词器已经内置了一个default.dic,如果你觉得不够用,你可以在default.dic同级目录下新建一个dic文件,添加自己的新词,然后userLibrary配置为自定义词典文件所在文件夹即可,如图:

 剩下的就简单了,直接new AnsjAnalyzer()即可,随便在一个文本文件里添加一个新词比如么么哒,检查我们的分词器是否起作用了,如图:

 修改之前创建索引的demo,把分词器对象修改为AnsjAnalyzer分词器对象,删除原先的索引重新创建索引,同样的,修改查询示例里的分词器对象为AnsjAnalyzer,然后运行查询示例代码:

 OK,大功告成,打完收工!

 

如果你还有什么问题请加我Q-Q:7-3-6-0-3-1-3-0-5,

或者加裙

一起交流学习。

转载:http://iamyida.iteye.com/blog/2193949

你可能感兴趣的文章
中文javadoc
查看>>
Jqeury Mobile实战之切屏效果以及屏幕滚动到底端加载更多和点击切换更多
查看>>
每天一个linux命令(28):tar命令
查看>>
c++Valgrind内存检测工具---19
查看>>
react.js 测试
查看>>
linux中的两个很重要的信号:SIGALRM信号和SIGCHID信号
查看>>
uboot下tftp传输文件
查看>>
feature map计算大小公式
查看>>
sql优化经典例子
查看>>
10大H5前端框架(转)
查看>>
java文件操作 之 创建文件夹路径和新文件
查看>>
WPF绘制深度不同颜色的3D模型填充图和线框图
查看>>
lua integrate with c LUA集成进C
查看>>
Windows Phone 7.5 - Local SQL Database:Mango Local Database(SQL CE)
查看>>
IP地址知识
查看>>
c#在未出现异常情况下查看当前调用堆栈
查看>>
解决:eclipse双击无法打开工程目录了
查看>>
深度解析iPhone窗口和视图
查看>>
WPF换肤之四:界面设计和代码设计分离
查看>>
Struts原理及环境搭建
查看>>