欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 宝鼎售后问题提交 | 后台管理


新闻资讯

MENU

软件开发知识

我们将演示使用 IK Analy 昆山软件定制开发 sis 插件来帮助我们实现中文分词

点击: 次  来源:劳务派遣管理系统 时间:2017-12-18

原文出处: Way Lau

本文演示了如何利用IK Analysis 插件来实此刻 Elasticsearch 中的中文分词成果。

利用中文分词

在“Spring Boot应用企业级博客系统”课程中(http://coding.imooc.com/class/125.html),所有的博客成果都已经完成了。读者伴侣们开始愉快地利用博客来颁发博客了。但假如伴侣们足够细心的话,发此刻输入中文的标签的时候,昆山软件开发,存在必然的问题。

好比,当我们想将某个博客标志为“大神”时,博客系统却将这个单词粗暴的分成了如图21-2所示的两个词“大”和“神”。显然,这并不切适用户的利用习惯。

我们将演示利用 IK Analy 昆山软件定制开拓 sis 插件来辅佐我们实现中文分词

这是 Elasticsearch 语言阐明器上的限制,它并不能友好的处理惩罚所有语言,出格是中文。这种环境下,我们就需要特另外中文分词器来协助我们了。

本章节,我们将演示利用 IK Analysis 插件来辅佐我们实现中文分词。

IK Analysis 插件

IK Analysis 插件(https://github.com/medcl/elasticsearch-analysis-ik/)就是一款专门用于 Elasticsearch 的分词器,可以友好的处理惩罚中文。

IK Analysis 插件将 Lucene IK 阐明仪(http://code.google.com/p/ik-analyzer/)集成到了 Elasticsearch 中,从而支持自界说分词。

安装 IK Analysis

安装 IK Analysis 很是简朴。主要有两种方法。

利用 elasticsearch-plugin

假如 Elasticsearch 是 5.5.1 今后的版本,昆山软件开发,可以利用 elasticsearch-plugin 来安装,安装方法如下:

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.1/elasticsearch-analysis-ik-5.5.1.zip

下载解压到指定目次

别的一种方法是,下载安装包,解压到 Elasticsearch 安装目次的 /plugins/目次下即可。

下图展示了 IK 的安装目次。

我们将演示利用 IK Analy 昆山软件定制开拓 sis 插件来辅佐我们实现中文分词

需要留意的是,不管是哪种安装方法,昆山软件开发,相应的插件,要对应相应的 Elasticsearch 版本,不然大概会安装不乐成。 下载地点为 https://github.com/medcl/elasticsearch-analysis-ik/releases。本章节,我们利用 IK Analysis for Elasticsearch 5.5.0 版本。

利用 IK Analysis

要利用 IK Analysis,需要在文档类内里,指定相应的分词器。我们在 EsBlog 的 tags 属性上,添加了searchAnalyzer = “ik_smart”, analyzer = “ik_smart”的注解内容就可以了。

public class EsBlog implements Serializable {
 
    ...

	@Field(type = FieldType.text,fielddata = true, searchAnalyzer = "ik_smart", analyzer = "ik_smart") 
	private String tags;  // 标签

下图展示了利用了IK分词的标签结果

我们将演示利用 IK Analy 昆山软件定制开拓 sis 插件来辅佐我们实现中文分词

IK Analysis 范例

ik_smart 是 IK Analysis 个中一种分词形式。IK Analysis主要有两种范例的分词形式,别离是 ik_max_word 和 ik_smart。

  • ik_max_word: 会将文本做最细粒度的拆分,好比会将“中华人民共和国国歌”拆分为“中华人民共和国”、“中华人民”、“中华”、“华人”、“人民共和国”、“人民”、“人”、“民”,、“共和国”、“共和”、“和”、“国歌”等,会穷尽各类大概的组合;
  • ik_smart: 会做最粗粒度的拆分,好比会将“中华人民共和国国歌”拆分为“中华人民共和国”、“国歌”。
  • 参考

  • https://waylau.com/spring-boot-blog-video-release/
  • http://coding.imooc.com/class/125.html