专栏首页vblogElasticSearch入门项目--仿京东搜索

ElasticSearch入门项目--仿京东搜索

项目介绍

此项目是跟随狂神ES课程入门所做的SpringBoot+ES+Vue实战项目,在视频的基础上,已实现前后端分离。功能比较简单,实现的基本的爬取+储存+搜索+高亮,未实现分页,若对ES已有一定的基础,可自己改进,也可发起PR,若发现问题,望及时提醒。

此项目涉及以下功能

  • ES创建索引
  • ES删除索引
  • ES批量插入文档
  • ES查询并高亮显示
  • 最基础的JAVA爬虫(Jsoup)
  • Vue基本操作

运行环境

  • ElasticSearch 7.8.0
  • kibana 7.8.0
  • IK分词器 7.8.0(可选)
  • IDEA 2020.1.3
  • Maven 3.6.9
  • SpringBoot 2.3.1

前期准备

  • 安装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,大概像这样。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PAT 1002 A+B for Polynomials (25分) 指数作为数组下标+系数作为值

    This time, you are supposed to find A+B where A and B are two polynomials.

    vivi
  • PAT 1029 Median (25分) 有序数组合并

    Given an increasing sequence S of N integers, the median is the number at the mi...

    vivi
  • PAT 1011 World Cup Betting (20分) 比较大小难度级别

    With the 2010 FIFA World Cup running, football fans the world over were becoming...

    vivi
  • 原 荐 基于Kubernetes的ESaaS

    概述 ESaaS(ElasticSearch as a Service)是ElasticSearch on Kubernetes的产品实现,是利用Docker和...

    Walton
  • search(1)- elasticsearch结构概念

    上篇提到选择了elasticsearch ES作为专业化搜索引擎的核心,这篇讨论一下ES的基本结构和应用概念。首先,从硬结构方面来讲:ES是在一个集群(clu...

    用户1150956
  • kvm虚拟机日常操作命令梳理

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理。废话不多说,下面列出kvm日常管理中的命令 1)查看KVM虚拟机配置文件及运行状态 KVM虚拟机默认...

    洗尽了浮华
  • FZU 1061 矩阵连乘

     Problem 1061 矩阵连乘 Accept: 445    Submit: 1699 Time Limit: 1000 mSec    Memory...

    ShenduCC
  • Mongodb 定时释放内存

    对于主要是写入的数据库,mongodb内存占满之后写入效率会变得不稳定 这个时候,你需要释放内存(可试用db.runCommand({closeAllDatab...

    用户1177380
  • JVM性能调优-实战应⽤之使⽤虚拟机⼯具JHAT

    Sun JDK 提供 **JHAT (JVM Heap Analysis Tool)**命令常与 jmap 搭配使⽤,来分析 jmap ⽣成的堆 转储快照。jh...

    cwl_java
  • 治啰嗦利器~TF-IDF!| 文本分析

    这个系列打算以文本相似度为切入点,逐步介绍一些文本分析的干货,包括分词、词频、词频向量、TF-IDF、文本匹配等等。 第一篇中,介绍了文本相似度是干什么的; 第...

    数说君

扫码关注云+社区

领取腾讯云代金券