首页 > 其他分享 >es索引、类型(mapping)、文档、ik分词器

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

时间:2022-10-09 15:04:55浏览次数:84  
标签:word max mapping 索引 ik 分词器 分词 es


一、概念

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

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

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

3、物理设计

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

4、逻辑设计

es索引、类型(mapping)、文档、ik分词器_搜索引擎_02

es索引、类型(mapping)、文档、ik分词器_搜索引擎_03

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

es索引、类型(mapping)、文档、ik分词器_大数据_05

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

es索引、类型(mapping)、文档、ik分词器_大数据_07

二、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目录下配置

es索引、类型(mapping)、文档、ik分词器_搜索引擎_08

再次测试完成

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

标签:word,max,mapping,索引,ik,分词器,分词,es
From: https://blog.51cto.com/u_11334685/5740470

相关文章