分享好友 最新动态首页 最新动态分类 切换频道
SpringBoot整合ElasticSearch实现自动补全以及搜索关键字高亮
2024-12-26 13:10

目录

SpringBoot整合ElasticSearch实现自动补全以及搜索关键字高亮

一、项目前准备

1、了解什么是ElasticSearch

2、配置docker环境

3、安装ElasticSearch镜像

3.1 dockerHub上安装

4、安装kibana镜像

5、安装ik分词器

6、安装拼音分词器

7、编写对应数据库的索引

二、JAVA代码的配置。

1、导入依赖

2、添加数据到创建好的文档里

2.1 配置es客户端的bean 添加到主启动类里面

 2.2 批量导入文件到es里面

3、编写查询语句

4、测试结果 


:在进行之前、小编默认你有一些es的基础能力,可以简单编写DSL语句

Elasticsearch是一个开源的分布式搜索和分析引擎,它是建立在Apache Lucene搜索引擎库之上的。Elasticsearch提供了一个RESTful API,用于实时地存储、搜索和分析大量数据。它被广泛用于构建实时搜索、日志分析、应用程序性能监控等各种用例中。

Elasticsearch具有以下特点

  1. 分布式架构:可以轻松地扩展到多个节点,实现高可用性和水平扩展。
  2. 实时搜索:支持实时索引和搜索,能够快速地处理大量数据。
  3. 多种数据类型支持:除了全文搜索外,还支持结构化数据、地理空间数据等多种数据类型的搜索和分析。
  4. 强大的聚合功能:能够进行复杂的数据聚合和分析操作。
  5. 插件生态系统:有丰富的插件和工具可用于扩展和定制Elasticsearch的功能。

总的来说,Elasticsearch是一个功能强大、灵活且易于扩展的搜索和分析引擎,适用于各种大规模数据处理和搜索场景。例如京东、淘宝、百度、携程等大型软件都是采用这门技术。

在我有一篇文章里提到了如何安装docker  地址:关于docker-compose在linux上的集群部署_linux使用compose部署-CSDN博客

3.1 dockerHub上安装

这里自己选择版本 把代码放到linux上面运行就OK 就拉去好镜像了 

这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。建议大家和我的保持一致

运行ElasticSearch

官网上是有文档教程的 大家可以去看

因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络

 

 我这里直接写了 

 
 

同上步骤  这里不用多解释

启动方式

 
 

可以看到两个镜像均是拉去下来了

接下来执行以上命令便可以跑起来了。

 在浏览器输入你的虚拟机ip+端口 例如 我的es是

kibana是

点击devops就可以进入dsl语句书写界面了。

可以在github上去下载 也可用提供的资料 资料放在末尾 官网 https://github.com/infinilabs/analysis-ik

同上:官网

https://github.com/infinilabs/analysis-pinyin

将下载好的压缩包 解压放到es目录下

 -v es-plugins:/usr/share/elasticsearch/plugins 就在刚刚启动挂载的容器卷下。

如果急记不得 输入以下指令

 

 就会显现容器卷的 然后查找它所在的位置即可

7.1数据库表的字段

建立的索引为

 

 执行

 
 

出现这样便是创建成功:自己可以添加点数据测试一下 这里就大家自己去测试吧

默认创建好项目

 

注意:因为spring项目依赖里默认有es的 所以需要把版本修改了 

 

版本和自己pull的版本一定要对应 一定要对应、一定要对应,重要的是说三遍! 

2.1 配置es客户端的bean 添加到主启动类里面

 

 2.2 批量导入文件到es里面

 

这里需要再字段里面定义suggestion属性 做自动补全的字段。 

例如

 

这里用mybatis去查询 以及查询就不多说了  

去控制台查询一下结果

共有八百多条数据 并且也有suggestion字段 

自动补全的代码 接受一个key的参数 字符串类型

service层的代码为

 
 
 

可以看到是可以自动补全词条的这里

在测试根据搜索结果高亮显示

可以看到搜索的关键词也是被<em>标签包裹着的 到时后只需要给标签设置颜色即可。

最新文章
【省300元】华为NAS存储
华为家庭存储配备,可自行另配硬盘,硬盘接口采用SATA 3接口,最大支持20TB+20TB存储空间。NAS内置AI算力,能够根据不同维度进行图片视频整理。支持自然语义搜索,帮你找到所需内容。同一账号下能够快速读取文件,打破空间的约束。家庭存储
无货源一件代发违法吗(告诉你无货源一件代发怎么做)
无货源一件代发,比较适合没有资金和货源的卖家们,但是,很多卖家也知道淘宝现在的规则也是越来越严了,如果是做一件代发违法吗?因为,这些年因为违规被封店铺的商家也不少,所以,大家的担心也不无道理。一、无货源一件代发违法吗?其实,
怀化智能锁24小时售后服务热线电话号码统一报修(人工客服) - 焦点 - 百科知识-蓝心网
总之,选购一把好的门锁,需要综合考虑多种因素,从锁芯级别、智能功能、材质、设计、安装和维护等方面进行权衡。只有这样,才能确保家门的安全,为家人创造一个霍邱的居住环境。闪电指智能门锁,作为国产智能锁代表品牌之一,值得考虑。重
祛痘印排行榜第一名!揭晓十大高性价比祛痘淡印品牌
祛痘印排行榜第一名!揭晓十大高性价比祛痘淡印品牌战痘5年!走了不少弯路才发现原来祛痘祛痘印这么简单! 选对产品真的很重要! 听我的!反复长痘、去不掉黑红痘印、用很多祛痘产品觉得没用或者上脸刺激的……千万要认真看看这篇祛痘好物
网络推广对网站排名的影响及提升点击率和订单的方法有哪些?
在当今数字化时代,网络推广对网站排名的影响至关重要,而通过有效的推广策略提升点击率和订单则是企业和个人关注的焦点。下面我们一起来详细了解一下。网络推广能够提升网站的知名度和曝光度,从而对网站排名产生积极影响。通过多种推广手
调查:MI300X 性价比高,AI 专业人士考虑从 Nvidia 转向 AMD
▼一项最新调查显示,许多专业人士考虑从 Nvidia 转向 AMD 的怀抱,特别是对于MI300X 展现极高兴趣。这一转变可能标志在 AI 领域的重大突破,尤其是与的竞争中。据外媒报道,TensorWave 的 Jeff Tatarchuk 最近对 82 名工程师和人工智慧专
评审专访 | 对话中国电信上海翼支付高级营销总监文扬
第五届【金势奖·锐品牌大赏】的评选正在火热申报中,期待为品牌提供一个彰显实力与创新的舞台,表彰勇于突破和创新、创作出优秀案例作品、推动品牌持续增长的团队和个人,致敬每一位在背后努力耕耘的市场人。【金势奖】是一次与行业巨头和
院士怒怼完美电池“短期内是不可能的”!千亿汽车巨头涨停后遭质疑
固态电池、掺硅补锂电池、石墨烯电池近期,各种汽车巨头纷纷发布电池创新技术,虽然引发资本追捧,但被专家迎头泼了一盆冷水,直指完美的电池短期内是不可能的。今年1000公里续航的车肯定要出来,快充也是肯定要出的,8分钟充满1000公里,
高一设计_今日高一函数设计教程
摘要:高一设计,今日高一函数设计教程,新片场素材小编朱一松高一设计,今日高一函数设计教程相关内容整理,如果您对高一设计,今日高一函数设计教程感兴趣欢迎访问免费阅读。高一设计,今日高一函数设计教程一、高一在线设计教程介绍高一,读
相关文章
推荐文章
发表评论
0评