应用java实现相似度打分改进sql语句的like功能
一、sql语句的痛点s.sku_name LIKE CONCAT(%, #{name}, %)OR g.goods_name LIKE CONCAT(%, #{name}, %)...本质是连续子串匹配所以场景数据库存用户输入LIKE 能否命中原因有空格红富士苹果红富士 苹果❌红富士 苹果不是连续子串中间掉字农夫山泉矿泉水农夫矿泉水❌中间缺山泉非连续顺序颠倒苹果12手机手机苹果❌顺序不对方式 1MySQL 原生 ngram 全文索引最省事DB 层搞定MySQL 内置了 CJK 的ngram分词器ALTER TABLE wms_goods_sku ADD FULLTEXT INDEX ft_sku_name (sku_name) WITH PARSER ngram;-- 查询WHERE MATCH(sku_name) AGAINST(农夫矿泉水 IN BOOLEAN MODE)数据库自动按字符 n-gram 建索引你一行 Java 分词都不用写还有索引加速。适合做粗召回。我目前用的是这样的WHERE s.del_flag 0AND ( s.sku_name LIKE %农夫% OR g.goods_name LIKE %农夫% OR ...OR s.sku_name LIKE %夫山% OR ... ) -- 每个 bigram 一组 OR前导通配用不上普通 B-Tree 索引本质是全表扫描。所以多个 bigram 的 OR→ 每行都要跑一遍所有 LIKE比原来单个 LIKE 更重。数据量小时单租户几百~几千 SKU→ 毫秒级完全无感不需要额外索引。数据量大时单租户几万~几十万 SKU→ 会明显变慢。是否需要加分词索引分规模看单租户 SKU 量级当前 LIKE-OR 方案建议 5 千毫秒级不用加保持现状5 千 ~ 5 万几十~几百 ms建议上 ngram 全文索引 5 万可能 1s必须上 ngram 或独立搜索引擎如果要优化MySQL ngram 全文索引MySQL 内置 CJK 的ngram分词器可以把召回从全表扫描变成索引命中ALTER TABLE wms_goods_sku ADD FULLTEXT INDEX ft_sku_name (sku_name) WITH PARSER ngram;ALTER TABLE wms_goods ADD FULLTEXT INDEX ft_goods_name (goods_name) WITH PARSER ngram;召回 SQL 改成WHERE MATCH(s.sku_name) AGAINST(农夫矿泉水 IN NATURAL LANGUAGE MODE)核心算法换成了成熟类库委托Hutool 5.8.25 的cn.hutool.core.text.TextSimilarity进行相似度打分可在苹果应用市场搜索“羽辽进销存”免登录体验相似度打分实践应用。PC端https://zhicun.site

相关新闻

3分钟搞定PotPlayer字幕翻译:告别外语视频障碍的终极方案

3分钟搞定PotPlayer字幕翻译:告别外语视频障碍的终极方案

3分钟搞定PotPlayer字幕翻译:告别外语视频障碍的终极方案 【免费下载链接】PotPlayer_Subtitle_Translate_Baidu PotPlayer 字幕在线翻译插件 - 百度平台 项目地址: https://gitcode.com/gh_mirrors/po/PotPlayer_Subtitle_Translate_Baidu 还在为看不懂外语…

2026/7/3 19:01:29阅读更多 →
OpenMMD:用AI将真人视频变成虚拟偶像舞蹈的终极指南

OpenMMD:用AI将真人视频变成虚拟偶像舞蹈的终极指南

OpenMMD:用AI将真人视频变成虚拟偶像舞蹈的终极指南 【免费下载链接】OpenMMD OpenMMD is an OpenPose-based application that can convert real-person videos to the motion files (.vmd) which directly implement the 3D model (e.g. Miku, Anmicius) animated…

2026/7/3 19:01:29阅读更多 →
高效实现PotPlayer字幕实时翻译的完整指南:从入门到精通

高效实现PotPlayer字幕实时翻译的完整指南:从入门到精通

高效实现PotPlayer字幕实时翻译的完整指南:从入门到精通 【免费下载链接】PotPlayer_Subtitle_Translate_Baidu PotPlayer 字幕在线翻译插件 - 百度平台 项目地址: https://gitcode.com/gh_mirrors/po/PotPlayer_Subtitle_Translate_Baidu 还在为外语视频中的…

2026/7/3 19:01:29阅读更多 →
Windows APK安装终极指南:免模拟器跨平台应用体验

Windows APK安装终极指南:免模拟器跨平台应用体验

Windows APK安装终极指南:免模拟器跨平台应用体验 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想过在Windows电脑上直接运行手机应用&#xf…

2026/7/3 20:12:19阅读更多 →
PIC18F2458驱动WS2812 RGB LED的硬件与固件设计

PIC18F2458驱动WS2812 RGB LED的硬件与固件设计

1. WS2812与PIC18F2458的黄金组合解析在LED控制领域,WS2812智能RGB LED与PIC18F2458微控制器的组合堪称经典搭配。WS2812作为集成了控制芯片的5050封装RGB LED,仅需单线控制即可实现全彩显示,而PIC18F2458凭借其丰富的外设和稳定的性能&#…

2026/7/3 20:12:19阅读更多 →
STM32与Si4731构建低功耗音乐播放系统

STM32与Si4731构建低功耗音乐播放系统

1. 项目背景与硬件选型解析这个项目本质上是一个基于STM32微控制器和Si4731收音机芯片的DIY音乐播放系统。作为一名电子工程师,我最近在整理工作室时翻出了几片闲置的STM32L442KC开发板,正好手头也有Si4731收音机模块,于是决定把它们组合起来…

2026/7/3 20:12:19阅读更多 →
SLO2016与PIC32MX764F128L构建工业级隔离通信系统

SLO2016与PIC32MX764F128L构建工业级隔离通信系统

1. 项目概述:SLO2016与PIC32MX764F128L的协同价值在嵌入式通信系统设计中,信息传递的可靠性和效率始终是核心挑战。SLO2016作为一款高性能数字隔离器,与Microchip的PIC32MX764F128L微控制器组合使用时,能够构建出工业级可靠性的信…

2026/7/3 20:12:19阅读更多 →
惠普暗影精灵笔记本终极性能管理指南:OmenSuperHub免费开源方案

惠普暗影精灵笔记本终极性能管理指南:OmenSuperHub免费开源方案

惠普暗影精灵笔记本终极性能管理指南:OmenSuperHub免费开源方案 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub …

2026/7/3 20:12:19阅读更多 →
Automation Prompting:提示即服务的工程化实践

Automation Prompting:提示即服务的工程化实践

1. 什么是自动化提示工程:它不是“写得更聪明”,而是让提示本身具备生长能力 “Automation Prompting: The Key to Scalable AI Workflows”这个标题乍看像一句技术口号,但在我过去三年深度参与27个AI落地项目(覆盖金融风控文案生…

2026/7/3 20:07:18阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/3 14:18:39阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/3 14:38:35阅读更多 →
LV3296与PIC18F45K22的UART通信与USB扩展方案

LV3296与PIC18F45K22的UART通信与USB扩展方案

1. LV3296与PIC18F45K22的硬件搭档解析在嵌入式数据采集系统中,LV3296条形码扫描模块与PIC18F45K22微控制器的组合堪称经典搭配。LV3296作为一款工业级条码扫描头,其核心是一颗高性能CMOS图像传感器,配合专用解码芯片,能自动识别包…

2026/7/3 0:03:41阅读更多 →
AI初创生存指南:6个月完成可信度验证闭环

AI初创生存指南:6个月完成可信度验证闭环

1. 这不是“逆袭指南”,而是一份AI初创公司真实生存手记“How To Beat Odds As an AI Startup?”——这个标题乍看像一句热血口号,但在我带过7个从0到1的AI产品团队、亲手踩过融资失败、技术债崩盘、客户POC卡在最后一公里等23类典型坑之后,…

2026/7/3 0:03:41阅读更多 →
多模态+推理链+RAG 2.0+智能体:工业级AI系统落地四支柱

多模态+推理链+RAG 2.0+智能体:工业级AI系统落地四支柱

1. 这不是又一篇“AI趋势速览”,而是一份实操者手记:当多模态、推理链、检索增强与智能体协作真正撞进工程现场“LAI #73”这个编号本身就像一个暗号——它不属于某家大厂的白皮书,也不是学术会议的议程表,而是长期泡在模型训练集…

2026/7/3 0:03:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/3 1:12:46阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/3 1:36:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/3 2:08:15阅读更多 →