IKAnalyzer简介

IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。

IKAnalyzer特性

a. 算法采用“正向迭代最细粒度切分算法”,支持细粒度和最大词长两种分词方式,速度最大支持80W字/秒(1600KB/秒)。  
b. 支持多子处理器分析模式:中文、数字、字母,并兼容日文、韩文。 
c. 较小的内存占用,优化词库占有空间,用户可自定义扩展词库。 
d. 扩展lucene的扩展实现,采用歧义分析算法优化查询关键字的搜索排列组合,提高lucene检索命中率

IK分词算法理解

根据作者官方说法IK分词器采用“正向迭代最细粒度切分算法”,分析它的源代码,可以看到分词工具类IKQueryParser起至关重要的作用,它对搜索关键词采用从最大词到最小词层层迭代检索方式切分,比如搜索词:“中华人民共和国成立了”,首先到词库中检索该搜索词中最大分割词,即分割为:“中华人民共和国”和“成立了”,然后对“中华人民共和国”切分为“中华人民”和“人民共和国”,以此类推。最后,“中华人民共和国成立了”切分为:“中华人民 | 中华 | 华人 | 人民 | 人民共和国 | 共和国 | 共和 | 成立 | 立了”,当然,该切分方式为默认的细粒度切分,若按最大词长切分,结果为:“中华人民共和国 | 成立 | 立了”。

其它分词器

目前的分词器有:mmseg4j、paoding、ik-analyzer、imdict、Ansj;目前任在持续更新的有mmseg4j、ik-analyzer和Ansj,这三类分词器都有java的实现,ansj是一个ictclas的java实现,ictclas是中科院计算技术研究所的一个中文分词器,目前用的比较广泛的还是ik-analyzer分词器和mmseg4j 分词器,我们对比下:
mmseg4j :自带sogou词库,支持名为 wordsxxx.dic, utf8文本格式的用户自定义词库,一行一词。不支持自动检测。
ik :支持api级的用户词库加载,和配置级的词库文件指定,无 BOM 的 UTF-8 编码,rn 分割。不支持自动检测。
mmseg4j : 在complex基础上实现了最多分词(max-word),但是还不成熟,还有很多需要改进的地方。
ik :针对Lucene全文检索优化的查询分析器IKQueryParser

IK与solr的集成

1.添加jar

将ik-analyzer-solr5-5.x.jar 放到apache-tomcat-8.5.15/webapps/solr/WEB-INF/lib
2.配置test核下面的schema.xml
<fieldType name="text_ik" class="solr.TextField"><analyzer type="index"><tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false"/></analyzer><analyzer type="query"><tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true"/></analyzer></fieldType>

有了这个fieldType,我们顺便改一个text_ik的field

<!--<field name="title" type="text_general" indexed="true" stored="true" multiValued="true"/>--><field name="title" type="text_ik" indexed="true" stored="true" multiValued="true"/>

3.添加扩展词库
在apache-tomcat-8.5.15/webapps/solr/WEB-INF下创建classes文件夹,添加ext.dic,IKAnalyzer.cfg.xml,stopword.dic文件
也可以添加多个词库文件.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">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords">stopword.dic;</entry> </properties>

重启tomcat

转载于:https://www.cnblogs.com/itliucheng/p/6898809.html

13.solr学习速成之IK分词器相关推荐

  1. Solr配置IK分词器

    配置步骤 下载分词器 上传文件 添加jar包 添加配置文件 添加分词器,配置业务域 测试分词器 第一步 下载IK分词器 第二步 上传文件 查看 第三步 添加jar包 到solr工程 cp IKAnal ...

  2. Elasticsearch中安装IK分词器

    Elasticsearch中默认的分词器对中文的支持不好,会分隔成一个一个的汉字.而IK分词器对中文的支持比较好一些,主要有两种模式"ik_smart"和"ik_max_ ...

  3. ElasticSearch学习笔记之十一 Anayle API和IK分词器

    ElasticSearch学习笔记之十一 Anayle API和IK分词器 Anayle API IK分词器 IK分词器版本支持 安装 下载或者编译 选择一 选择二 重启ElasticSearch I ...

  4. solr配置同义词,停止词,和扩展词库(IK分词器为例)

    定义 同义词:搜索结果里出现的同义词.如我们输入"还行",得到的结果包括同义词"还可以". 停止词:在搜索时不用出现在结果里的词.比如is .a .are .& ...

  5. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://w ...

  6. Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://w ...

  7. Linux下安装和配置solr/tomcat/IK分词器 详细实例一.

    在这里一下讲解着三个的安装和配置, 是因为solr需要使用tomcat和IK分词器, 这里会通过图文教程的形式来详解它们的安装和使用. 注: 本文属于原创文章, 如若转载,请注明出处, 谢谢. 关于设 ...

  8. solr两种安装、ik分词器设置、DIH导入mysql数据

    文章目录 solr 安装(内置方式) solr 安装(tomcat方式) IK中文分词器设置 solr数据操作 使用dataimport导入数据库数据 solr 安装(内置方式) 安装包 官网下载安装 ...

  9. Windows下Solr的安装与配置,附DIH全量导入MySQL数据、IK分词器配置详解——不用集成Tomcat

    Solr是Apache开源的比较稳定的一款全文搜索引擎,也是市面上相对比较流行的一款全文搜索引擎,好不好用你用过之后自有判断.今天给大家分享一下它的安装与配置,我用的是7.7.2版本.废话不多说,开搞 ...

  10. ES入门学习:ElasticSearch、Kibana、ik分词器的安装、简单使用及SpringBoot集成

    前言 es是采用Java语言开发,因此,想要安装运行es需要提前准备好jdk环境,关于linux配置jdk在前文linux配置jdk 本文主要介绍es的安装.kibana的安装和简单使用及ik分词器的 ...

最新文章

  1. 一文读懂序列建模(deeplearning.ai)之序列模型与注意力机制
  2. OpenCV 霍夫圆检测
  3. zipimport.ZipImportError: can't decompress data; zlib not available
  4. WHEN OVERSEAS
  5. python生成器yield_python 生成器yield的总结
  6. hiho一下 第六周 Hihocoder #1038 : 01背包
  7. 大剑无锋之flume面试题【面试推荐】
  8. redis哨兵模式没有切换主机_Redis的哨兵模式
  9. 一个fork的面试题 转
  10. java案例代码17--正则表达式小案例
  11. Number of failed login attempts exceeds threshold value
  12. JSON字符串转对象集合
  13. 网站建设|网站导航设计超强方法总结
  14. layui上传图片需携带额外参数
  15. apple pay充游戏后退款_2019,7月苹果王者荣耀退款
  16. 7-3 单词首字母大写
  17. python教学计划_2017从零开始数据分析学习计划
  18. vue导出excel (兼容ie)
  19. 标签上的 title属性与 alt属性的区别
  20. 详细的“BP神经网络数据分类—语音特征信号分类”代码

热门文章

  1. Linux下mysql数据库的自动备份与还原 远程备份和本地备份
  2. luncence学习
  3. Python中流程控制-for循环(序列/字典举例)
  4. 在Linux环境下select函数的初体验
  5. 实用的CSS3属性和使用技巧
  6. Android 中AlarmManager升级4.2
  7. 22个HTML5和CSS3表单教程
  8. Spring 4.xx开发环境搭建
  9. [NOIp2017 DG Day 2 T1] 奶酪
  10. es6的模块化export和import