码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot电商项目实战 — ElasticSearch接入实现

时间:2019-08-23 13:33:47      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:height   大数据   定义   prope   undefined   服务   pos   项目   data-   

如今在一些中大型网站中,搜索引擎已是必不可少的内容了。首先我们看看搜索引擎到底是什么呢?搜索引擎,就是根据用户需求与一定算法,运用特定策略从互联网检索出制定信息反馈给用户的一门检索技术。搜索引擎依托于多种技术,如网络爬虫技术、检索排序技术、网页处理技术、大数据处理技术、自然语言处理技术等,为信息检索用户提供快速、高相关性的信息服务。搜索引擎技术的核心模块一般包括爬虫、索引、检索和排序等,同时可添加其他一系列辅助模块,以为用户创造更好的网络使用环境。

 
技术图片
image

基于Java的搜索引擎框架,目前市面上很多。如:Lucene、Nutch、Solandra、Solr、ElasticSearch、Compass等,这里具体不一一对比讨论。今天主要说的是ElasticSearch搜索引擎的实现。

 
技术图片
image

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

测试:

 
技术图片
image

二、ElasticSearch接入实现

pom文件,版本号:2.1.4.RELEASE

<!-- 版本号 -->

application.properties配置

##ES

ES的泛型实体,具体根据自己的业务和所需字段定义

 
技术图片
image

ElasticsearchRepository类

package com.lyn.web.elastic;

启动类添加如下代码,解决与Netty冲突异常。

System.setProperty("es.set.netty.runtime.available.processors", "false");

 
技术图片
image

ES同步及查询接口

 
技术图片
image

启动项目,测试结果:

项目启动成功后先执行save接口,同步数据库数据到es。然后调用search接口查询。

 
技术图片
image

此刻,Springboot集成ElasticSearch的索引接入已经完成。代码也已同步上传到github,有需要的小伙伴可根据下面获取方式获取源码。

 

扫码关注公众号,发送关键词获取相关资料:

  1. 发送“Springboot”领取电商项目实战源码;
  2. 发送“SpringCloud”领取cloud学习实战资料;
技术图片

SpringBoot电商项目实战 — ElasticSearch接入实现

标签:height   大数据   定义   prope   undefined   服务   pos   项目   data-   

原文地址:https://www.cnblogs.com/lyn20141231/p/11399285.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!