微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Elasticsearch实现中文分词

教程目录

0x00 教程内容
  1. 认标准分词效果展示
  2. 分词插件elasticsearch-analysis-ik
  3. ik分词效果展示
0x01 认标准分词效果展示
1. 认标准分词器的使用

a. 英文分词效果展示
http://localhost:9200/_analyze?analyzer=standard&pretty=true&text=I am teacher SHAO

在这里插入图片描述

点击提交请求后,可看到右边有分词效果

在这里插入图片描述


b. 中文分词效果展示
http://localhost:9200/_analyze?analyzer=standard&pretty=true&text=邵奈一老师

在这里插入图片描述

可看到,老师都被分开了,对于中文效果并不理想

2. 新建一个测试索引

a. 索引名:shaonaiyi,类型:teacher
http://localhost:9200/shaonaiyi

{
  "settings": {
    "number_of_replicas": 0
  },
  "mappings": {
    "teacher": {
      "dynamic": false,
      "properties": {
        "value": {
          "type": "text"
        }
      }
    }
  }
}

在这里插入图片描述

b. 插入数据
http://localhost:9200/shaonaiyi/teacher

{
	"value":"学大数据"
}

在这里插入图片描述

类似插入多两条,如下面:

{
	"value":"大学讲师"
}
{
	"value":"学习技能"
}
3. 查询效果展示

a. 查询【POST】
http://localhost:9200/shaonaiyi/teacher/_search/

{
	"query": {
		"match": {
			"value": "大学"
		}
	}
}

在这里插入图片描述


b .结论
我们想要的结果只是:大学讲师,可是其他带“大”字和“学”字的结果都搜索出来了,这不是我们想要的结果。

0x02 分词插件elasticsearch-analysis-ik
1. 下载插件

a. github.com

在这里插入图片描述


在这里插入图片描述


b. 翻页,找到自己对应的Elasticsearch版本(如:5.6.1)

在这里插入图片描述


c. 点击下载并解压到Elasticsearch主目录的plugins目录下(如:E:\SmallTools\elasticsearch-5.6.1\plugins\elasticsearch)

在这里插入图片描述

2. 启动Elasticsearch

a. 关闭之前的elasticsearch.bat窗口(如没有启动则直接启动)
b. 打开elasticsearch.bat文件
c. 重启后刷新http://localhost:9100/,可看到前面创建的shaonaiyi索引,但需要重新创建索引,因为插件安装好了

在这里插入图片描述

3. 重新创建测试索引

a. 删除之前的shaonaiyi索引【DELETE】
http://localhost:9200/shaonaiyi

在这里插入图片描述


b. 创建索引【PUT】
http://localhost:9200/shaonaiyi

{
  "settings": {
    "number_of_replicas": 0
  },
  "mappings": {
    "teacher": {
      "dynamic": false,
      "properties": {
        "value": {
          "type": "text",
          "analyzer": "ik_max_word",
          "search_analyzer": "ik_max_word"
        }
      }
    }
  }
}

在这里插入图片描述

0x03 ik分词效果展示
1. ik_max_word分词

a. 查询【POST】
http://localhost:9200/_analyze?analyzer=ik_max_word&pretty=true&text=邵奈一老师

在这里插入图片描述

2. ik_smart分词

a. 将上面的三个均ik_max_word改为ik_smart
b. 创建一个新索引shaonaiyi888
c. 重新查询,比较不同

在这里插入图片描述


在这里插入图片描述

0xFF 总结
  1. 如没有Elasticsearch基础或者有疑惑,请参考此篇教程:Elasticsearch的安装(windows)
  2. 更多与ik分词插件相关知识请看github:medcl/elasticsearch-analysis-ik
  3. 看以后是否有需求和时间,再出一个模仿百度的简单搜索引擎。

作者简介:邵奈一

大学大数据讲师、大学市场洞察者、专栏编辑

公众号、微博、CSDN邵奈一

本系列课均为本人:邵奈一原创,如转载请标明出处

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐