首页 > 其他分享 >ElasticSearch安装分词器与整合SpringBoot

ElasticSearch安装分词器与整合SpringBoot

时间:2024-09-25 13:20:02浏览次数:11  
标签:SpringBoot 词元 Tokenizer ik elasticsearch 分词器 ElasticSearch 文本

ElasticSearch安装分词器与整合SpringBoot在这里插入图片描述

如果还没安装的点击安装ElasticSearch查看怎么安装

分词器

1.分词器

在Elasticsearch中,分词器(Tokenizer)是分析器(Analyzer)的一部分,它的主要职责是将文本输入(如字符串)分割成一系列的词元(tokens)。这些词元是搜索和索引的基础单元。

分词器的作用
  • 分割文本:将输入文本按照特定的规则分割成独立的词元。
  • 记录位置信息:为每个词元记录其在原始文本中的位置信息,如起始和结束字符偏移量。
  • 记录词元顺序:确定词元的顺序,这对于短语查询和词近邻查询非常重要。
内置分词器
  • Whitespace Tokenizer:按空白字符分割文本。
  • Standard Tokenizer:基于Unicode字符属性进行分词,类似于Java的String.split方法。
  • Punctuation Tokenizer:按标点符号分割文本。
  • Keyword Tokenizer:不进行分词,将整个输入文本作为一个词元。
  • Pattern Tokenizer:使用正则表达式进行分词。

2.ik分词器

在这里插入图片描述

  • 点击下载:注意你是什么版本的下什么版本,如:我的elasticsearch是7.6.2就下7.6.2
  • 解压后找到你的/usr/share/elasticsearch/plugins挂载的目录下,例如:
#当初我挂载的是/docker/elasticsearch/plugins
-v /docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins
  • 把解压后得到的ik目录放入plugins,只要ik目录,别是ik/ik/
  • 重启

3.测试分词器

  • 使用默认
POST _analyze
{ 
	"text": "我是中国人"
}
  • 使用分词器
POST _analyze
{ 
	"analyzer": "ik_smart", 
	"text": "我是中国人"
}
  • 另外一个分词器ik_max_word
POST _analyze
{ 
	"analyzer": "ik_max_word", 
	"text": "我是中国人"
}

观察结果,就可以看出使用分词器之后的区别了

整合SpringBoot

Elasticsearch-Rest-Client

3.Maven导入
<dependency>
	<groupId>org.elasticsearch.client</groupId>
	<artifactId>elasticsearch-rest-high-level-client</artifactId>
	<version>7.6.2</version>
</dependency>
2.配置
@Bean
RestHighLevelClient client() {
RestClientBuilder builder = RestClient.builder(new HttpHost("<你的虚拟机ip>", 9200, "http"));
return new RestHighLevelClient(builder);
}
3.测试
@Test
void test1() throws IOException {
	IndexRequest request = new IndexRequest("test").id("20").source("name","中国","id",20L);
	try {
		IndexResponse response = client.index(request, RequestOptions.DEFAULT);
		System.out.println(request.toString());
		IndexResponse response2 = client.index(request, RequestOptions.DEFAULT);
	} catch (ElasticsearchException e) {
		if (e.status() == RestStatus.CONFLICT) {
		}
	}
}

标签:SpringBoot,词元,Tokenizer,ik,elasticsearch,分词器,ElasticSearch,文本
From: https://blog.csdn.net/2301_77207909/article/details/142520344

相关文章

  • ElasticSearch的安装与使用
    ElasticSearch的安装与使用docker安装docker进行安装Elasticsearch1.拉取镜像dockerpullelasticsearch:7.6.22.创建实例mkdir-p/docker/elasticsearch/configmkdir-p/docker/elasticsearch/dataecho"http.host:0.0.0.0">>/docker/elasticsearch/config/......
  • 基于SpringBoot的酒店在线预定系统的设计与实现(源码+LW+讲解和调试)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 基于SpringBoot上门做菜预定管理系统的设计与实现(源码+LW+讲解和调试)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 我的网站集成ElasticSearch初体验
    我的网站集成ElasticSearch初体验   最近,我给我的网站(https://www.xiandanplay.com/)尝试集成了一下es来实现我的一个搜索功能,因为这个是我第一次了解运用elastic,所以如果有不对的地方,大家可以指出来,话不多说,先看看我的一个大致流程   这里我采用的sdk的版本是El......
  • [含文档+PPT+源码等]精品基于springboot实现的原生Andriod移动学习APP软件
    软件开发环境及开发工具:数据库管理工具:phpstudy/Navicat或者phpstudy/sqlyog开发工具:AndroidStudio后台管理系统涉及技术:后台使用框架:Springboot前端使用技术:Vue,HTML5,CSS3、JavaScript等数据库:Mysql数据库本系统功能完整,适合作为计算机项目设计参考以及学习、就业......
  • 【2025】springboot零食商城系统背景(源码+文档+调试+答疑)
    目录一、整体目录(示范):文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等二、运行截图三、代码部分(示范):四、数据库表(示范):数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习五、主要技术介绍:六、项目调试学习(点击查看)七、项目交流SpringBoot......
  • 【2025】springboot二手数码交易平台(源码+文档+调试+答疑)
     目录一、整体目录:项目包含源码、调试、修改教程、调试教程、讲解视频、开发文档(项目摘要、前言、技术介绍、可行性分析、流程图、结构图、ER属性图、数据库表结构信息、功能介绍、测试致谢等约1万字)二、运行截图三、代码部分(示范):四、数据库表(示范):数据库表有注释,可以......
  • 基于SpringBoot+Vue的宠物领养系统的设计与实现-毕业设计源码33575
    目 录摘要1绪论1.1研究背景1.2 研究意义1.3论文结构与章节安排2 相关技术介绍2.1B/S结构2.2SpringBoot框架2.3MySQL数据库3系统分析3.1可行性分析3.2系统流程分析3.2.1数据新增流程3.2.2 数据删除流程3.3 系统功能分析3.3.1......
  • 【2025】springboot旅游景点管理系统(源码+文档+调试+答疑)
     目录一、整体目录:项目包含源码、调试、修改教程、调试教程、讲解视频、开发文档(项目摘要、前言、技术介绍、可行性分析、流程图、结构图、ER属性图、数据库表结构信息、功能介绍、测试致谢等约1万字)二、运行截图三、代码部分(示范):四、数据库表(示范):数据库表有注释,可以......
  • 【SpringBoot】@Valid @Validated 注解校验时机实现原理
    1 前言上节我们看了【SpringBoot】@Validated@Valid参数校验概述以及使用方式,对于@Valid以及@Validated有了大概的认识,并也尝试了集中校验方式,那么本节我们重点看一下SpringBoot中@Valid@Validated的校验实现原理。2 准备工作客户类我还是用上节的那个类,然后我......