当前位置: 首页 > news >正文

电商项目高级篇09-检索服务

电商项目高级篇09-检索服务

  • 1、环境搭建
    • 1.1、前端静态文件准备
    • 1.2、search服务引入模版引擎
    • 1.3、index.html页面复制到templates文件夹下
    • 1.4、模仿product项目,引入名称空间
    • 1.5、动静分离,静态资源路径位置替换
    • 1.6、将1.1的静态资源放到nginx目录下
    • 1.7、hosts文件配置域名转发
    • 1.8、配置nginx的conf文件
    • 1.9、修改网关转发

1、环境搭建

在这里插入图片描述
在这里插入图片描述

1.1、前端静态文件准备

在这里插入图片描述

1.2、search服务引入模版引擎

pom.xml文件引入

<!--模版引擎--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

1.3、index.html页面复制到templates文件夹下

在这里插入图片描述

1.4、模仿product项目,引入名称空间

xmlns:th="http://www.thymeleaf.org"

在这里插入图片描述

改掉以前的标头,加入h5标头
在这里插入图片描述

1.5、动静分离,静态资源路径位置替换

在这里插入图片描述
在这里插入图片描述

1.6、将1.1的静态资源放到nginx目录下

在这里插入图片描述
新建两个文件夹/static/search,再把静态文件放进来

在这里插入图片描述

1.7、hosts文件配置域名转发

新增一个这个配置
在这里插入图片描述

1.8、配置nginx的conf文件

修改gulimall.conf文件
server_name *.guilimall.com
在这里插入图片描述
配置完毕以后重启nginx

docker restart nginx

1.9、修改网关转发

在这里插入图片描述

   - id: gulimall_host_routeuri: lb://gulimall-productpredicates:- Host=gulimall.com- id: gulimall_search_routeuri: lb://gulimall-searchpredicates:- Host=search.gulimall.com

重启网关和search服务

相关文章:

电商项目高级篇09-检索服务

电商项目高级篇09-检索服务 1、环境搭建1.1、前端静态文件准备1.2、search服务引入模版引擎1.3、index.html页面复制到templates文件夹下1.4、模仿product项目&#xff0c;引入名称空间1.5、动静分离&#xff0c;静态资源路径位置替换1.6、将1.1的静态资源放到nginx目录下1.7、…...

【网络协议大花园】应用层 http协议的使用小技巧,用好了都不用加班,效率翻两倍(下篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…...

5 前端系统开发:Vue2、Vue3框架(中):Vue前端工程化组件式开发

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言五、前端工程化&#xff08;使用Vue创建一个完整的企业级前端项目&#xff09;1 Vue脚手架&#xff08;Vue-cli&#xff09;环境准备&#xff08;1&#xff09;…...

【Leetcode刷题记录】1456. 定长子串中元音的最大数目---定长滑动窗口即解题思路总结

1456. 定长子串中元音的最大数目 给你字符串 s 和整数 k 。请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。 英文中的 元音字母 为&#xff08;a, e, i, o, u&#xff09;。 这道题的暴力求解的思路是通过遍历字符串 s 的每一个长度为 k 的子串&#xf…...

Rust中使用ORM框架diesel报错问题

1 起初环境没有问题&#xff1a;在Rust开发的时候起初使用的是mingw64平台加stable-x86_64-pc-windows-gnu编译链&#xff0c;当使用到diesel时会报错&#xff0c;如下&#xff1a; x86_64-w64-mingw32/bin/ld.exe: cannot find -lmysql具体信息很长这是主要信息是rust找不到链…...

Java 数据库连接池:HikariCP 与 Druid 的对比

Java 数据库连接池&#xff1a;HikariCP 与 Druid 的对比 数据库连接池&#xff1a;HikariCP 1. 卓越的性能表现 HikariCP 在数据库连接池领域以其卓越的性能脱颖而出。 其字节码经过精心优化&#xff0c;减少了不必要的开销&#xff0c;使得连接获取和释放的速度极快。 在…...

04树 + 堆 + 优先队列 + 图(D1_树(D7_B+树(B+)))

目录 一、基本介绍 二、重要概念 非叶节点 叶节点 三、阶数 四、基本操作 等值查询(query) 范围查询(rangeQuery) 更新(update) 插入(insert) 删除(remove) 五、知识小结 一、基本介绍 B树是一种树数据结构&#xff0c;通常用于数据库和操作系统的文件系统中。 B树…...

MATLAB实现单层竞争神经网络数据分类

一.单层竞争神经网络介绍 单层竞争神经网络&#xff08;Single-Layer Competitive Neural Network&#xff09;是一种基于竞争学习的神经网络模型&#xff0c;主要用于数据分类和模式识别。其核心思想是通过神经元之间的竞争机制&#xff0c;使得网络能够自动学习输入数据的特…...

AITables首发:基于AI全自动推理设计数据库,国内首创,跑5分钟相当于架构师设计一周!

AITables仅运行5分钟&#xff0c;整个系统的表都设计好了&#xff01; 随着AI大模型技术的开源普及和平民化&#xff0c;现如今任何一个人都有可能成为超级个体。但随着企业级业务的膨胀和业务挑战增多&#xff0c;我们势必要跟上AI发展的节奏&#xff0c;让AI帮我们设计软件。…...

Go语言中结构体字面量

结构体字面量&#xff08;Struct Literal&#xff09;是在 Go 语言中用于创建和初始化结构体实例的一种语法。它允许你在声明结构体变量的同时&#xff0c;直接为其字段赋值。结构体字面量提供了一种简洁、直观的方式来创建结构体对象。 结构体字面量有两种主要形式&#xff1…...

PaddleOCR 截图自动文字识别

春节假期在家无聊&#xff0c;撸了三个小工具&#xff1a;PC截图编辑/PC录屏(用于meeting录屏)/PC截屏文字识别。因为感觉这三个小工具是工作中常常需要用到的&#xff0c;github上也有很多开源的&#xff0c;不过总有点或多或少的小问题&#xff0c;不利于自己的使用。脚本的编…...

【Blazor学习笔记】.NET Blazor学习笔记

我是大标题 我学习Blazor的顺序是基于Blazor University&#xff0c;然后实际内容不完全基于它&#xff0c;因为它的例子还是基于.NET Core 3.1做的&#xff0c;距离现在很遥远了。 截至本文撰写的时间&#xff0c;2025年&#xff0c;最新的.NET是.NET9了都&#xff0c;可能1…...

UE求职Demo开发日志#21 背包-仓库-装备栏移动物品

1 创建一个枚举记录来源位置 UENUM(BlueprintType) enum class EMyItemLocation : uint8 {None0,Bag UMETA(DisplayName "Bag"),Armed UMETA(DisplayName "Armed"),WareHouse UMETA(DisplayName "WareHouse"), }; 2 创建一个BagPad和WarePa…...

力扣988. 从叶结点开始的最小字符串

Problem: 988. 从叶结点开始的最小字符串 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的先序遍历) 在先序遍历的过程中&#xff0c;用一个变量path拼接记录下其组成的字符串&#xff0c;当遇到根节点时再将其反转并比较大小&#xff08;字典顺序大小&…...

《PYTHON语言程序设计》(2018版)1.7近似π。利用步幅来进行修改

利用循环的步幅来计算派 利用正常的办法, pi 4 *(1-(1/3)(1/5)-(1/7)(1/9)-(1/11)(1/13)-(1/15)) print(pi)利用这段代码得出结果 我们如何利用循环来进行呢 一、思路 首先我们来利用excel表格来计算一下结果 我做了一个设想,让相加的部分先进行相加,然后再进行减法呢?? 结…...

低通滤波算法的数学原理和C语言实现

目录 概述 1 原理介绍 1. 1 基本概念 1.2 一阶RC低通滤波器模型 2 C语言完整实现 2.1 滤波器结构体定义 2.2 初始化函数 2.3 滤波计算函数 3 应用示例 3.1 噪声信号滤波 3.2 输出效果对比 3.3 关键参数选择指南 4 性能优化技巧 4.1 定点数优化 4.2 抗溢出处理 …...

【BUUCTF杂项题】荷兰宽带数据泄露、九连环

一.荷兰宽带数据泄露 打开发现是一个.bin为后缀的二进制文件&#xff0c;因为提示宽带数据泄露&#xff0c;考虑是宽带路由器方向的隐写 补充&#xff1a;大多数现代路由器都可以让您备份一个文件路由器的配置文件&#xff0c;软件RouterPassView可以读取这个路由配置文件。 用…...

安全策略实验报告

1.实验拓扑图 2.实验需求 vlan2属于办公区&#xff0c;vlan3生产区 办公区pc在工作日时间可以正常访问OAserver&#xff0c;i其他时间不允许 办公区pc可以在任意时间访问Web server 生产区pc可以在任意时间访问OA server但不能访问web server 特例&#xff1a;生产区pc可以…...

Haproxy+keepalived高可用集群,haproxy宕机的解决方案

Haproxykeepalived高可用集群&#xff0c;允许keepalived宕机&#xff0c;允许后端真实服务器宕机&#xff0c;但是不允许haproxy宕机&#xff0c; 所以下面就是解决方案 keepalived配置高可用检测脚本 &#xff0c;master和backup都要添加 配置脚本 # vim /etc/keepalived…...

亚博microros小车-原生ubuntu支持系列:20 ROS Robot APP建图

依赖工程 新建工程laserscan_to_point_publisher src/laserscan_to_point_publisher/laserscan_to_point_publisher/目录下新建文件laserscan_to_point_publish.py #!/usr/bin/env python3import rclpy from rclpy.node import Node from geometry_msgs.msg import PoseStam…...

Qwen3.5-9B-AWQ-4bit企业应用落地:电商商品图智能解析与文字提取实战

Qwen3.5-9B-AWQ-4bit企业应用落地&#xff1a;电商商品图智能解析与文字提取实战 1. 电商场景下的图片理解挑战 在电商运营中&#xff0c;每天需要处理海量商品图片。传统的人工审核和标注方式面临三大痛点&#xff1a; 效率瓶颈&#xff1a;人工处理一张商品图平均需要3-5分…...

多个source、多个sink

关键配置&#xff1a;sink的&#xff1a;plugin_input ["source_data1", "source_data2"]对应模型┌──────────┐│ Source A │──┐└──────────┘ │├──▶ Sink┌──────────┐ ││ Source B │──┘└──────…...

游戏服务器检测扣除消耗防算数溢出的安全判断及解决方法

游戏服务器检测扣除消耗防算数溢出的安全判断及解决方法 数量 > (类型最大值 / 价格) 负数存在风险 价格 > (类型最大值 / 数量) || 价格 < (最小值 / 数量&#xff09; 游戏服务器在处理道具消耗时需防止数值溢出问题。当检测扣除消耗时&#xff0c;应进行双重安全判…...

AI正冲击金融岗!高薪职业如何守住饭碗?金融人转行AI指南

AI技术正全面冲击金融行业&#xff0c;初级分析师、风控专员、客服等中低端认知劳动密集型岗位面临被替代风险。但高端投行、深度研究、资源型和创新型岗位短期内仍安全。金融人转型AI有独特优势&#xff0c;如数据敏感性、业务理解力等。转型路径包括AI应用专家、金融科技产品…...

STM32F407ZGT6最小系统:从原理图到PCB的实战设计解析

1. STM32F407ZGT6最小系统设计入门 第一次接触STM32F407ZGT6最小系统设计时&#xff0c;我也被各种专业术语和复杂的电路图搞得晕头转向。但经过几个项目的实战后&#xff0c;我发现只要掌握几个关键模块&#xff0c;设计一个稳定可靠的最小系统其实并不难。STM32F407ZGT6是STM…...

源代码之下的硅基启示录——Claude Code“核泄漏”事件的深度剖析与时代回响

引言 公元2026年3月30日&#xff0c;一个看似平常的春日&#xff0c;硅基世界却迎来了一场史无前例的地震。 一家以“安全”为最高信条的AI公司&#xff0c;以一种最荒诞的方式&#xff0c;亲手打开了潘多拉的魔盒。Anthropic&#xff0c;这家估值高达3800亿美元的AI新贵&#…...

从芯片包到破解:Keil MDK5完整安装与配置实战(附最新支持包离线导入方法)

从芯片包到破解&#xff1a;Keil MDK5完整安装与配置实战&#xff08;附最新支持包离线导入方法&#xff09; 在嵌入式开发领域&#xff0c;Keil MDK5作为ARM架构微控制器的主流开发环境&#xff0c;其安装配置的完整性与稳定性直接影响后续开发效率。本文将系统性地拆解从软件…...

VCS编译SystemVerilog时,那个‘-P’选项你加对了吗?详解Verdi PLI配置

VCS编译SystemVerilog时&#xff0c;那个‘-P’选项你加对了吗&#xff1f;详解Verdi PLI配置 在芯片验证的日常工作中&#xff0c;VCSVerdi的组合堪称黄金搭档。但当你满怀信心地敲下编译命令&#xff0c;却发现怎么也生成不了关键的fsdb波形文件时&#xff0c;那种挫败感简直…...

KOReader 2025.04:重新定义电子墨水屏阅读

KOReader 2025.04&#xff1a;重新定义电子墨水屏阅读 【免费下载链接】koreader An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices 项目地址: https://gitcode.co…...

JS 缓存函数(缓存函数计算结果、缓存异步函数的执行结果以及带过期时间)

JS 缓存函数 一、普通函数结果缓存&#xff08;同步缓存&#xff09; 实现一个通用缓存高阶函数&#xff0c;核心逻辑&#xff1a;第一次执行计算并缓存结果&#xff0c;后续相同参数直接读取缓存&#xff0c;不再重复执行。 实现代码 // 缓存高阶函数&#xff1a;接收一个函数…...