ElasticSearch入門項目--仿京東搜索(關鍵字高亮)


ElasticSearch入門,仿京東搜索實戰

項目源碼已上傳至Github,點此訪問

項目介紹

此項目是跟隨狂神ES課程入門所做的SpringBoot+ES+Vue實戰項目,在視頻的基礎上,已實現前后端分離。功能比較簡單,實現的基本的爬取+儲存+搜索+高亮,未實現分頁,若對ES已有一定的基礎,可自己改進,也可發起PR,若發現問題,望及時提醒。

此項目涉及以下功能

  • ES創建索引
  • ES刪除索引
  • ES批量插入文檔
  • ES查詢並高亮顯示
  • 最基礎的JAVA爬蟲(Jsoup)
  • Vue基本操作

運行環境

前期准備

  • 安裝ElasticSearch、Kibana、ik分詞器,注意這三個版本必須保持一致
  • 啟動ElasticSearch,端口 9200,9300

最終效果

同時支持中文搜索、英文搜索
在這里插入圖片描述
在這里插入圖片描述

注意事項

  • 由於前后端分離,Controller上記得加注解@CrossOrigin(allowedHeaders = "*")允許跨域。

  • 安裝IK分詞器是為了解決中文查詢時,默認分詞器會將關鍵詞其分割,導致查詢不出結果。

  • 此頁面是我在京東搜索原網頁的基礎上刪減得到的,所以可能有些多余的標簽,可以自己試着改,由於我對前端不太熟悉,所以並未有太多的刪減。

  • Jsoup解析網頁出錯或未獲取到數據,最好打開瀏覽器開發者模式,通過檢查元素查看標簽結構,在控制台用JS操作先試試能否獲取到結果,若發現與代碼中涉及的標簽和屬性等不一致,請自己修改。

  • 京東頁面所用的cssjs包括一些圖片都是異步加載的,其中涉及到的cssjs我自己下載好了,京東logo和購物車圖標的顯示也是http請求獲取到的,不是本地圖標,這里我沒改是因為我用的VSCode,裝了插件LiveServer,所以能夠正常顯示,所以你能看到我的瀏覽器地址是 localhost:52330/itemlist.htm,而不是本地協議。

  • 使用file協議也可正常運行,也就是直接選擇用瀏覽器打開itemlist.htm,功能不受影響,只不過可能就看不到logo,大概像這樣。
    在這里插入圖片描述


免責聲明!

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



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