es索引、类型(mapping)、文档、ik分词器

本文介绍了Elasticsearch的基本概念,包括其作为数据库的角色,面向文档的特性,以及分片的物理设计。重点讲解了IK分词器的安装与使用,通过实例展示了如何利用IK分词器对中文文本进行智能分词,以提高搜索准确性。同时,文中提到了自定义分词 dic 文件来优化搜索体验。
摘要由CSDN通过智能技术生成

一、概念

1、初学可以把es看作数据库 可以建立索引(库) 文档(库中的数据)

2、es是面向文档的,一切都是json

3、物理设计

es后台把每个索引划分成多个分片,每份分片可以在集群中的不同服务器间迁移,一个默认就是一个集群 默认集群名称elaticsearch

4、逻辑设计

二、ik分词器

1、概述

把一段中文分成一个个关键字,搜索的时候根据关键信息搜索,会把数据库中或者索引中的数据进行分词,默认中文分词是将每一字都看成一个词,比如我爱中国 分成‘我’ ‘爱’ ‘中’‘国’显然有问题,所以安装中文分词器解决这个问题

ik提供了ik_smart和ik_max_word,其中ik_smart为最少切分,ik_max_word最细粒度划分

2、安装

地址

Releases · medcl/elasticsearch-analysis-ik · GitHub

注意版本和es一致

下载完成解压到es的plugis插件文件下的ik(自己创建)文件夹下,并删除压缩包

查看,进入es bin目录执行

D:\es\elasticsearch-7.14.0\bin>elasticsearch-plugin list
"warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME"
Future versions of Elasticsearch will require Java 11; your Java version from [D:\Java\jdk1.8.0_131\jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
ik

3、使用kibana测试

GET _analyze
{
  "analyzer": "ik_smart",
  "text": "中国共产党"
}

GET _analyze
{
  "analyzer": "ik_max_word",
  "text": "中国共产党"
}

GET _analyze
{
  "analyzer": "ik_max_word",
  "text": "java一号中国共产党"
}

没有‘java一号’,这种需要自己自定义dic分词

ik目录下配置

再次测试完成

总结:项目中的搜索功能 我们只需定义自己的分词dic文件就行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序三两行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值