V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lifeOsDeveloper
V2EX  ›  问与答

带空格的模糊搜索方案,比如编码是 ABCD001,要求搜索 AB 01,能搜到,如何实现呢

  •  
  •   lifeOsDeveloper · 4 天前 · 495 次点击
    目前我的方案是在 java 把空格替换为%, 到 sql 用 like ,就变成 like '%AB%01%', 有没有好点的方案呢
    6 条回复    2024-12-20 08:58:47 +08:00
    mumbler
        1
    mumbler  
       4 天前
    两个方案:
    1. 用 Elasticsearch
    2. 用向量数据库
    iyaozhen
        2
    iyaozhen  
       4 天前
    你现在方案有什么问题嘛?
    retanoj
        3
    retanoj  
       4 天前
    我就是想看看解决方案
    Atma
        4
    Atma  
       4 天前
    es
    TWorldIsNButThis
        5
    TWorldIsNButThis  
       4 天前 via iPhone
    es 分词呗
    yinmin
        6
    yinmin  
       3 天前 via iPhone
    专门写一个函数生成 sql 条件,输入字段列表、查询字串,输出 sql 条件字串,结果格式是:( (flda like ’%AB
    %’ and flda like ’%01%’) or (fldb like ’%AB
    %’ and fldb like ’%01%’) or (fldb like ’%AB
    %’ and fldc like ’%01%’) )

    like 字符串要转义,防止 sql 注入
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   999 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:20 · PVG 05:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.