• 【ElasticSearch】 中文分词器-IK分词器(六)


    分词介绍

    什么是分词

      分词就是指将一个文本转化成一系列单词的过程,也叫文本分析,在Elasticsearch中称之为Analysis。

      举例:我是中国人 --> 我/是/中国人

    分词api

      指定分词器进行分词

      示例:

    1 POST /_analyse
    2  
    3 {
    4     "analyzer": "standard",
    5     "text": "hello world"
    6 }

      效果如下:

       

      在结果中不仅可以看出分词的结果,还返回了该词在文本中的位置。

      指定索引分词

      示例

    1 POST /person/_analyse
    2 
    3 {
    4     "analyzer": "standard",
    5     "field": "hobby",
    6     "text": "听音乐"
    7 }

      效果如下:

      

    中文分词

      中文分词的难点在于,在汉语中没有明显的词汇分界点,如在英语中,空格可以作为分隔符,如果分隔不正确就会造成歧义。

      如:

    • 我/爱/炒肉丝
    • 我/爱/炒/肉丝

      常用中文分词器,IK、jieba、THULAC等,推荐使用IK分词器。

      IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始, IKAnalyzer已经推出了3个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算 法的中文分词组件。新版本的IK Analyzer 3.0则发展为面向Java的公用分词组件,独立于Lucene项目,同时提 供了对Lucene的默认优化实现。

      采用了特有的“正向迭代最细粒度切分算法“,具有80万字/秒的高速处理能力 采用了多子处理器分析模式,支 持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇 (姓名、地名处理)等分词处理。 优化的词典存储,更小的内存占用。

      IK分词器 Elasticsearch插件地址:https://github.com/medcl/elasticsearch-analysis-ik

    安装IK分词器

      1、从官网下载IK分词器,注意版本问题,与ES保持一致即可(本例ES版本7.6.1,IK版本7.6.1)

      2、在es目录中的plugins目录,新建目录ik

        命令:mkdir plugins/ik

      3、介绍ik分词器下载包,到plugins/ik目录

        命令:unzip -d /data/soft/elasticsearch-7.6.1/plugins/ik elasticsearch-analysis-ik-7.6.1.zip

      4、重新es

        查看java进程:jps

        关闭es:kill (pid)

        后台启动es:./bin/elasticsearch -d

    测试IK分词器

      示例:

    1 POST /_analyze
    2 
    3 {
    4     "analyzer": "ik_max_word",
    5     "text": "我是中国人"
    6 }

      效果如下:

      

      可以看到,已经对中文进行了分词。

     

        

  • 相关阅读:
    请问set JAVA_OPTS的各项參数是什么意思?
    微软正式提供Visual Studio 2013正式版下载(附直接链接汇总)
    基础总结篇之中的一个:Activity生命周期
    [Cocos2d-x]Mac下cocos2d-x连接pomeloserver
    window.location.href的使用方法
    springMVC简单实例
    mybatis快速入门
    出现传值问题
    el表达式判断字符串相等
    EL表达式
  • 原文地址:https://www.cnblogs.com/h--d/p/13112117.html
Copyright © 2020-2023  润新知