SpringBoot电商项目实战 — ElasticSearch接入实现
如今在一些中大型网站中,搜索引擎已是必不可少的内容了。首先我们看看搜索引擎到底是什么呢?搜索引擎,就是根据用户需求与一定算法,运用特定策略从互联网检索出制定信息反馈给用户的一门检索技术。搜索引擎依托于多种技术,如网络爬虫技术、检索排序技术、网页处理技术、大数据处理技术、自然语言处理技术等,为信息检索用户提供快速、高相关性的信息服务。搜索引擎技术的核心模块一般包括爬虫、索引、检索和排序等,同时可添加其他一系列辅助模块,以为用户创造更好的网络使用环境。
基于Java的搜索引擎框架,目前市面上很多。如:Lucene、Nutch、Solandra、Solr、ElasticSearch、Compass等,这里具体不一一对比讨论。今天主要说的是ElasticSearch搜索引擎的实现。
ElasticSearch接入实现
ElasticSearch简称es,它是一款基于Lucene框架的分布式搜索引擎,也是一个高度可扩展的开源全文搜索和分析引擎,可以快速的、近实时地对大数据进行存储、搜索和分析,用来支撑复杂的数据搜索需求和企业级应用。并且也是一款为数不多的基于JSON进行索引的搜索引擎。它特别适合在云计算平台上使用。
一、ElasticSearch的安装
我们先进入Linux服务器,然后在/usr/local/下创建elasticsearch,命令如下:
cd /usr/local/
然后进入elasticsearch目录,下载es。
cd elasticsearch
解压es
tar -zxvf elasticsearch-6.8.1.tar.gz
修改配置文件:
vim elasticsearch-6.8.1/config/elasticsearch.yml
##修改内容
修改/etc/sysctl.conf
vim /etc/sysctl.conf
使用非root账号启动es服务
cd elasticsearch-6.8.1
测试:
二、ElasticSearch接入实现
pom文件,版本号:2.1.4.RELEASE
<!-- 版本号 -->
application.properties配置
##ES
ES的泛型实体,具体根据自己的业务和所需字段定义
ElasticsearchRepository类
package com.lyn.web.elastic;
启动类添加如下代码,解决与Netty冲突异常。
System.setProperty("es.set.netty.runtime.available.processors", "false");
ES同步及查询接口
启动项目,测试结果:
项目启动成功后先执行save接口,同步数据库数据到es。然后调用search接口查询。
此刻,Springboot集成ElasticSearch的索引接入已经完成。代码也已同步上传到github,有需要的小伙伴可根据下面获取方式获取源码。
扫码关注公众号,发送关键词获取相关资料:
- 发送“Springboot”领取电商项目实战源码;
- 发送“SpringCloud”领取cloud学习实战资料;