SpringBoot電商項目實戰 — ElasticSearch接入實現


如今在一些中大型網站中,搜索引擎已是必不可少的內容了。首先我們看看搜索引擎到底是什么呢?搜索引擎,就是根據用戶需求與一定算法,運用特定策略從互聯網檢索出制定信息反饋給用戶的一門檢索技術。搜索引擎依托於多種技術,如網絡爬蟲技術、檢索排序技術、網頁處理技術、大數據處理技術、自然語言處理技術等,為信息檢索用戶提供快速、高相關性的信息服務。搜索引擎技術的核心模塊一般包括爬蟲、索引、檢索和排序等,同時可添加其他一系列輔助模塊,以為用戶創造更好的網絡使用環境。

 
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學習實戰資料;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM