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

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: es索引、类型(mapping)、文档、ik分词器

一、概念

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文件就行


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
自然语言处理 算法 搜索推荐
ES-IK分词器的概念和基本使用
ES-IK分词器的概念和基本使用
537 2
|
存储 自然语言处理 索引
ES分词器使用说明(analyzer)
本文章主要介绍了分词器的配置方法,以及分词器的优先级,同时配置了多个维度的分词器,哪一个分词器会生效,当出现分词结果不符合预期的时候,可以通过这个本文档内容进行梳理和排查。
2603 0
|
存储 Java 索引
Elastic实战:彻底解决spring-data-elasticsearch日期、时间类型数据读取报错问题
在使用spring-data-elasticsearch读取es中时间类型的数据时出现了日期转换报错,不少初学者会在这里困惑很久,所以今天我们专门来解读该问题的几种解决方案。
2499 0
Elastic实战:彻底解决spring-data-elasticsearch日期、时间类型数据读取报错问题
|
存储 JSON API
Pydantic:目前最流行的Python数据验证库
在处理来自系统外部的数据,如API、终端用户输入或其他来源时,我们必须牢记开发中的一条基本原则:“永远不要相信用户的输入”。 因此,我们必须对这些数据进行严格的检查和验证,确保它们被适当地格式化和标准化。这样做的目的是为了确保这些数据符合我们的程序所需的输入规范,从而保障项目能够正确且高效地运行。
|
监控 负载均衡 安全
Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘
Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘
|
10月前
|
前端开发 JavaScript API
前端框架新探索:Svelte在构建高性能Web应用中的优势
【10月更文挑战第26天】近年来,前端技术飞速发展,Svelte凭借独特的编译时优化和简洁的API设计,成为构建高性能Web应用的优选。本文介绍Svelte的特点和优势,包括编译而非虚拟DOM、组件化开发、状态管理及响应式更新机制,并通过示例代码展示其使用方法。
271 2
|
Docker 容器
docker设置国内镜像源
docker设置国内镜像源
34230 5
|
存储 安全 开发工具
windows开发环境备份,再也不怕重装系统了
【9月更文挑战第2天】在Windows系统中备份开发环境可大幅提升重装系统后的效率。本文详细介绍五个关键步骤:备份开发工具及软件包;保存配置文件;备份数据库与数据文件;确保代码仓库的安全;记录安装步骤与注意事项。遵循这些建议,重装系统时可迅速恢复开发环境,避免重复劳动。
411 7
|
自然语言处理 搜索推荐
在Elasticsearch 7.9.2中安装IK分词器并进行自定义词典配置
在Elasticsearch 7.9.2中安装IK分词器并进行自定义词典配置
1367 1
|
测试技术
单元测试问题之在单元测试中,方法的返回值或异常,如何验证
单元测试问题之在单元测试中,方法的返回值或异常,如何验证