Elasticsearch 实战(四、分词与IK分词器)

本文介绍了如何在Elasticsearch中使用官方分词器和IK分词器对中英文文本进行分词。官方的standard分词器对英文处理较好,但对中文支持不足。为解决此问题,文章详细演示了安装IK分词器的步骤,并展示了IK分词器在中文分词上的优秀效果,同时提到了如何通过自定义字典实现更精确的分词需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方分词器的使用

使用分词器的格式如下

POST _analyze
{
   
   
  "analyzer": "standard",
  "text": "i am a good-boy"
}

其中 analyzer 参数用来指定分词器,text 位置指定需要分词的语句。

可登录 ES 官方文档-分词器 查看分词器种类,例中使用标准 standard 分词器。

标准分词器将文本划分为单词边界上的术语,如 Unicode 文本分割算法所定义。它删除了大多数标点符号。

分词结果:

{
   
   
  "tokens" : [
    {
   
   
      "token" : "i",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "<ALPHANUM>",
      "position" : 0
    },
    {
   
   
      "token" : "am",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "<ALPHANUM>",
      "position" : 1
    },
    {
   
   
      "token" : "a",
      "start_offset" : 5,
      "end_offset" : 6,
      "type" : "<ALPHANUM>",
      "position" : 2
    },
    {
   
   
      "token" : "good",
      "start_offset" : 7,
      "end_offset" : 11,
      "type" : "<ALPHANUM>",
      "position" : 3
    },
    {
   
   
      "token" : "boy",
      "start_offset" : 12,
      "end_offset" : 15,
      "type" : "<ALPHANUM>",
      "position" : 4
    }
  ]
}

可以看出,分词的结果还比较满意。分词器将该条语句分为不同 token ,每个 token 中包含几个参数。

  • token :分出来的词汇或字符
  • start_offset :当前词汇或字符在本语句的开始偏移量
  • end_offset :当前词汇或字符在本语句的结束偏移量
  • type :当前词汇或字符的类型,例中为 ALPHANUM,字母数字
  • position :当前词汇或字符在整个分词分组里的坐标

再尝试一下标准分词器对中文的分词结果

POST _analyze
{
   
   
  "analyzer": "standard",
  "text": "青山原不老为雪白头"
}

分词结果


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值