Elasticsearch7 内置分词器的使用以及中文(IK)分词器的安装和使用

前言

 ES作为全文检索服务,势必要对原始的文本进行内容的拆分,然后才能够进行有效的索引对吧,而拆分原始内容到一个一个小的词或者说语音单元,这部分的功能呢是由ES的分词器去完成的呢,他本身就内置了许多的分词器,在安装和使用IK分词器之前先了解一下Elasticsearch内置的几个分词器。

一、ES常用内置分词器

  • standard - ES index默认分词器,按词切分,小写处理,

  • simple - 按照非字母切分(符号被过滤), 小写处理,会去除数字

  • whitespace  - 按照空格切分,不转小写

  • stop - 小写处理,停用词过滤(the,a,is)

  • keyword - 不分词,直接将输入当作输出

示例:

1、standard:支持中英文,中文会议单个字切割。他会将词汇单元转换成小写形式,并去除停用词和标点符号

POST _analyze
{
  "analyzer": "standard",
  "text": ["my name is 张某某 X"]
}

2、simple:首先会通过非字母字符来分割文本信息,然后将词汇单元统一为小写形式。该分析器会去掉数字类型的字符。中文原样输出,

 3、 whitespace:仅仅是去除空格,对字符没有lowcase化并且不对生成的词汇单元进行其他的规范化处理。

 

二、 IK分词器的安装

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases在这上面有elasticsearch所对应版本的IK分词器以编译的包,可以在上面找到对应版本进行下载使用

1、下载:

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.5.1/elasticsearch-analysis-ik-7.5.1.zip

2、在解压到elasticsearch/plugin/ik/文件夹中,ik文件夹需要自己建

unzip elasticsearch-analysis-ik-7.5.1.zip -d $ES_HOME/plugins/ik/

把$ES_HOME替换成你elasticsearch所在目录即可

3、重启elasticsearch后就可以用了

使用ik分词器:

创建索引时指定分词器:

PUT my_index
{
    "settings": {
        "analysis": {
            "analyzer": {
                "ik": {
                    "tokenizer": "ik_max_word"
                }
            }
        }
    },
    "mappings": {
        "properties": {
            "title": {
                "type": "text"
            },
            "content": {
                "type": "text",
                "analyzer": "ik_max_word"
            }
        }
    }
}

IK分词器示例:

1、ik_smart:会做最粗粒度的拆分

POST _analyze
{
  "analyzer": "ik_smart",
  "text": ["我是中国人"]
}

 2、ik_max_word:会将文本做最细粒度的拆分

POST _analyze
{
  "analyzer": "ik_max_word",
  "text": ["我是中国人"]
}

  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Elasticsearch安装中文分词IK,请按照以下步骤操作: 1.确保您的Elasticsearch版本与IK分词器版本兼容。您可以在IK分词器的GitHub页面上查看兼容性信息。 2.下载IK分词器插件。您可以在IK分词器的GitHub页面上找到最新版本的插件。 3.将IK分词器插件安装Elasticsearch中。您可以使用以下命令将插件安装Elasticsearch中: ``` sudo bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v{版本号}/elasticsearch-analysis-ik-{版本号}.zip ``` 请将{版本号}替换为您要安装IK分词器的版本号。例如,如果您要安装版本7.5.1的IK分词器,则应使用以下命令: ``` sudo bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.5.1/elasticsearch-analysis-ik-7.5.1.zip ``` 4.安装完成后,重启Elasticsearch以使IK分词器生效: ``` sudo systemctl restart elasticsearch ``` 5.现在您可以在Elasticsearch索引中使用中文分词IK了。您可以使用以下代码段在索引映射中配置IK分词器: ``` "analysis": { "analyzer": { "ik_max_word": { "tokenizer": "ik_max_word" }, "ik_smart": { "tokenizer": "ik_smart" } }, "tokenizer": { "ik_max_word": { "type": "ik_max_word" }, "ik_smart": { "type": "ik_smart" } } } ``` 在这个示例中,我们为两个分词器ik_max_word和ik_smart定义了令牌。您可以根据需要添加其他分词器和令牌

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值