Elasticsearch安装ik中文分词器

本文介绍了Elasticsearch中不同类型的分词器,包括Standard、ICU、IK、Whitespace等,并重点讲解了IK-analyzer的安装和使用方法,包括如何在索引时设置为ik_max_word进行细粒度分词,以及在搜索时使用ik_smart进行粗粒度分词。同时,提供了测试分词效果和获取字段内词频统计的相关命令。
摘要由CSDN通过智能技术生成

分词器顾名思义,就是对文本分词。目前es给我们提供了standard(对西方语言比较好),icu(对东南亚等地区),ik(中文),还有一些不常用的如,Letter Tokenizer(对非字符切分),whitespace Analyzer(每当遇到whitespace分割)。

分词器种类:

  1. Standard: 单字切分法,一个字切分成一个词。 (es默认分词器)
  2. CJKAnalyzer: 二元切分法, 把相邻的两个字, 作为一个词.
  3. SmartChineseAnalyzer: 对中文支持较好, 但是扩展性差, 针对扩展词库、停用词均不好处理.
  4. paoding`: 庖丁解牛分词器, 没有持续更新, 只支持到lucene3.0。
  5. mmseg4`: 支持Lucene4.10, 且在github中有持续更新, 使用的是mmseg算法.
  6. Whitespace分词器:去除空格,不支持中文,对生成的词汇单元不进行其他标准化处理。
  7. language分词器:特定语言的分词器,不支持中文。
  8. IK-analyzer: 最受欢迎的中文分词器。

安装IK-analyzer

  1. 下载ik中文分词器
  2. 解压到/usr/share/elasticsearch/plugins/ik目录
unzip elasticsearch-analysis-ik-7.9.3.zip -d /data/local/elasticsearch/9200/plugins/ik

在这里插入图片描述
3. 重启elasticsearch
4.测试分词效果
在这里插入图片描述

使用IK-analyzer

索引时用ik_max_word(细粒度)

#建立索引时使用ik_max_word分词
PUT _template/request_log
{
  "index": {
    "refresh_interval": "5s",
    "analysis": {
      "analyzer": {
        "ik": {
          "tokenizer": "ik_max_word"
        }
      }
    }
  }
}

单个字段设置分词器

 "字段名称": {
   "type":     "text",
   "analyzer": "ik_max_word"
}

在搜索时用ik_smart(粗粒度)

GET /request_log-app-2020.06.08/_search
{
  "query": {
    "match_phrase" : {  
          "operation" : {
              "query" : "发货",
              "analyzer" : "ik_smart"
          }
      }
  }
}

相关命令

#测试分词结果
GET _analyze
{
  "analyzer": "ik_smart", //指定分词器	
  "text": ["要测试的字符串"]
}
#获取document中的某个field内的各个term的统计信息。
GET /索引/_termvectors/文档id
{
  "fields":["字段1"]
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值