使用Lucene怎么实现一个中文分词器

这期内容当中小编将会给大家带来有关使用 Lucene怎么实现一个中文分词器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联公司是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,小程序开发,10年建站对成都火锅店设计等多个领域,拥有丰富的网站维护经验。

    1. 什么是中文分词器

学过英文的都知道,英文是以单词为单位的,单词与单词之间以空格或者逗号句号隔开

而中文的语义比较特殊,很难像英文那样,一个汉字一个汉字来划分。

所以需要一个能自动识别中文语义的分词器。

    1. StandardAnalyzer

    2. Lucene自带的中文分词器

单字分词:就是按照中文一个字一个字地进行分词。如:“我爱中国”,
效果:“我”、“爱”、“中”、“国”。

    1. CJKAnalyzer

二分法分词:按两个字进行切分。如:“我是中国人”,效果:“我是”、“是中”、“中国”“国人”。

上边两个分词器无法满足需求。

    1. 使用中文分词器IKAnalyzer

IKAnalyzer继承Lucene的Analyzer抽象类,使用IKAnalyzer和Lucene自带的分析器方法一样,将Analyzer测试代码改为IKAnalyzer测试中文分词效果。

如果使用中文分词器ik-analyzer,就在索引和搜索程序中使用一致的分词器ik-analyzer。

    1. 使用luke测试IK中文分词

(1)打开Luke,不要指定Lucene目录。否则看不到效果

(2)在分词器栏,手动输入IkAnalyzer的全路径

org.wltea.analyzer.lucene.IKAnalyzer

    1. 改造代码,使用IkAnalyzer做分词器

    2. 添加jar包

    1. 修改分词器代码

// 创建中文分词器

Analyzer analyzer = new IKAnalyzer();

    1. 扩展中文词库

拓展词库的作用:在分词的过程中,保留定义的这些词

1在src或其他source目录下建立自己的拓展词库,mydict.dic文件,例如:

2在src或其他source目录下建立自己的停用词库,ext_stopword.dic文件

停用词的作用:在分词的过程中,分词器会忽略这些词。

3在src或其他source目录下建立IKAnalyzer.cfg.xml,内容如下(注意路径对应):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  

<properties>  

    <comment>IK Analyzer 扩展配置</comment>

    <!-- 用户可以在这里配置自己的扩展字典 -->

     <entry key="ext_dict">mydict.dic</entry> 

     <!-- 用户可以在这里配置自己的扩展停用词字典    -->

    <entry key="ext_stopwords">ext_stopword.dic</entry>

</properties>

 

上述就是小编为大家分享的使用 Lucene怎么实现一个中文分词器了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。

名称栏目:使用Lucene怎么实现一个中文分词器
网页地址:https://www.cdcxhl.com/article46/pcoceg.html

成都网站建设公司_创新互联,为您提供网站改版网站策划网站设计公司定制网站网站维护静态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司