Lucene5学习之使用Ansj-seg分词器

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

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

 

<!-- ansj-seg -->
<dependency>
    <groupId>org.ansj</groupId>
    <artifactId>ansj_seg</artifactId>
    <version>2.0.8</version>
</dependency>

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

#redress dic file path
ambiguityLibrary=library/ambiguity.dic
#path of userLibrary this is default library
userLibrary=library
#set real name
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,

或者加裙
一起交流学习。
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值