ElasticSearch中文分词,看这一篇就够了

本文详细介绍了ElasticSearch内置分词器对中文处理的局限性,并通过实例演示了如何安装与使用IK分词器解决中文分词问题。通过编译源码和上传插件到docker环境中的ElasticSearch,实现了中文分词的配置和测试。
摘要由CSDN通过智能技术生成

写在前面:我是「且听风吟」,目前是某上市游戏公司的大数据开发工程师,热爱大数据开源技术,喜欢分享自己的所学所悟,现阶段正在从头梳理大数据体系的知识,以后将会把时间重点放在Spark和Flink上面。

如果你也对大数据感兴趣,希望在这个行业一展拳脚。欢迎关注我,我们一起努力,一起学习。博客地址:https://ropledata.blog.csdn.net

博客的名字来源于:且听风吟,静待花开。也符合我对技术的看法,想要真正掌握一门技术就需要厚积薄发的毅力,同时保持乐观的心态。

你只管努力,剩下的交给时间!

在这里插入图片描述

一、前言

本文版本说明:

  1. ElasticSearch版本:7.7 (目前最新版)
  2. Kibana版本:7.7(目前最新版)

前文咱们围绕Elasticsearch最新版进行了上万字的详细解析,相信看过的朋友对Elasticsearch及kibana等工具的极速安装配置印象深刻,也至少会对Elasticsearch有一个入门的掌握。
前文链接ElasticSearch最新版快速入门详解

本文咱们深入一些,详细分析一下Elasticsearch的中文分词,并顺便解答和演示一下上篇文章有朋友对docker安装的Elasticsearch如何支持中文分词的疑问。好了,废话不多说,让我们开始吧!
在这里插入图片描述

二、内置分词器解析

咱们知道Elasticsearch之所以模糊查询这么快,是因为采用了倒排索引,而倒排索引的核心就是分词,把text格式的字段按照分词器进行分词并编排索引。为了发挥自己的优势,Elasticsearch已经提供了多种功能强大的内置分词器,它们的作用都是怎样的呢?能处理中文吗?咱们往下看!

2.1、内置分词器梳理

首先咱们可以对Elasticsearch提供的内置分词器的作用进行如下总结:

分词器 作用
Standard ES默认分词器,按单词分类并进行小写处理
Simple 按照非字母切分,然后去除非字母并进行小写处理
Stop 按照停用词过滤并进行小写处理,停用词包括the、a、is
Whitespace 按照空格切分
Language 据说提供了30多种常见语言的分词器
Patter 按照正则表达式进行分词,默认是\W+ ,代表非字母
Keyword 不进行分词,作为一个整体输出

可以发现,这些内置分词器擅长处理单词和字母,所以如果咱们要处理的是英文数据的话,它们的功能可以说已经很全面了!那处理中文效果怎么样呢?下面咱们举例验证一下。

2.2、内置分词器对中文的局限性

  1. 首先咱们创建一个索引,并批量插入一些包含中文和英文的数据:

    // 创建索引
    PUT /ropledata
    {
      "settings": { 
        "number_of_shards": "2", 
        "number_of_replicas": "0"
      } 
    }
    // 批量插入数据
    POST _bulk
    { "create" : { "_index" : "ropledata", 
Elasticsearch中,可以使用中文分词插件来实现对中文文本的分词功能。你需要将中文分词插件解压至Elasticsearch的安装目录的plugins文件夹下,然后就可以直接使用了,无需修改elasticsearch.yml配置文件。 除了自带的中文分词插件外,Elasticsearch还提供了多种功能强大的内置分词器,可以根据需要选择合适的分词器来进行分词处理。 Elasticsearch之所以能够实现快速的模糊查询,是因为它采用了倒排索引的机制。而倒排索引的核心就是分词,它会将text格式的字段按照分词器进行分词,并编排索引,从而实现高效的查询效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [elasticsearch中文分词插件](https://download.csdn.net/download/mada26/10658883)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ElasticSearch中文分词](https://blog.csdn.net/weixin_45866849/article/details/126056859)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 98
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值