zoukankan      html  css  js  c++  java
  • 30.IK中文分词器的安装和简单使用

    在之前我们学的都是英文,用的也是英文的standard分词器。从这一节开始,学习中文分词器。中国人基本上都是中文应用,很少是英文的,而standard分词器是没有办法对中文进行合理分词的,只是将每个中文字符一个一个的切割开来,比如说中国人 --> 中 国 人

    在中方搜索引擎领域,比较成熟和流行的,就是ik分词器。

       

       

    一、在elasticsearch中安装ik中文分词器

       

    1git clone https://github.com/medcl/elasticsearch-analysis-ik

    2git checkout tags/v5.2.0 (确定合适的版本,要和你的es的版本一样)

    3mvn package

    4)将target/releases/elasticsearch-analysis-ik-5.2.0.zip拷贝到es/plugins/ik目录下

    5)在es/plugins/ik下对elasticsearch-analysis-ik-5.2.0.zip进行解压缩

    6)重启es

    综上:安装步骤就是把ik的包复制到plugins下的ik目录下(ik是我们自己手工创建的)

       

    二、ik分词器基础知识

       

    两种analyzer,你根据自己的需要自己选吧,但是一般是选用ik_max_word,就是尽可能的分词,会有重复词。ik_max_word: 会将文本做最细粒度的拆分,比如会将"中华人民共和国国歌"拆分为"中华人民共和国,中华人民,中华,华人,人民共和国,人民,,,共和国,共和,,国国,国歌",会穷尽各种可能的组合;

    ik_smart: 会做最粗粒度的拆分,比如会将"中华人民共和国国歌"拆分为"中华人民共和国,国歌"。不会有重复词。

       

    三、ik分词器的使用

    1、新建索引

    自定义分词器

    PUT /my_index

    {

    "mappings": {

    "my_type": {

    "properties": {

    "text": {

    "type": "text",

    "analyzer": "ik_max_word"

    }

    }

    }

    }

    }

    2、插入数据

       

    POST /my_index/my_type/_bulk

    { "index": { "_id": "1"} }

    { "text": "男子偷上万元发红包求交女友 被抓获时仍然单身" }

    { "index": { "_id": "2"} }

    { "text": "16岁少女为结婚"变"22 7年后想离婚被法院拒绝" }

    { "index": { "_id": "3"} }

    { "text": "深圳女孩骑车逆行撞奔驰 遭索赔被吓哭()" }

    { "index": { "_id": "4"} }

    { "text": "女人对护肤品比对男票好?网友神怼" }

    { "index": { "_id": "5"} }

    { "text": "为什么国内的街道招牌用的都是红黄配?" }

       

       

    3、查看分词情况

    GET /my_index/_analyze

    {

    "text": "男子偷上万元发红包求交女友 被抓获时仍然单身",

    "analyzer": "ik_max_word"

    }

       

    4、进行搜索

    GET /my_index/my_type/_search

    {

    "query": {

    "match": {

    "text": "16岁少女结婚好还是单身好?"

    }

    }

    }

  • 相关阅读:
    使用C#编写SqlHelper类
    编译器perspective oo 对象模型(1) 之 初窥c++对象模型
    浅谈 编译器 & 自然语言处理
    基于c#的角色扮演游戏设计与实现
    开源的EtherCAT Master简介
    如何在Windows中编译Linux Unix的代码(采用cygwin)?
    sql拼语句例子
    IOC介绍-手写一个简单的IOC
    protocalBuffer_java版详解(转thanks)
    ProtocalBuffer_数据结构(转thanks)
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8531129.html
Copyright © 2011-2022 走看看