V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
lifeOsDeveloper
V2EX  ›  问与答

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

  •  
  •   lifeOsDeveloper · Dec 19, 2024 · 1906 views
    This topic created in 502 days ago, the information mentioned may be changed or developed.
    目前我的方案是在 java 把空格替换为%, 到 sql 用 like ,就变成 like '%AB%01%', 有没有好点的方案呢
    6 replies    2024-12-20 08:58:47 +08:00
    mumbler
        1
    mumbler  
       Dec 19, 2024
    两个方案:
    1. 用 Elasticsearch
    2. 用向量数据库
    iyaozhen
        2
    iyaozhen  
       Dec 19, 2024
    你现在方案有什么问题嘛?
    retanoj
        3
    retanoj  
       Dec 19, 2024
    我就是想看看解决方案
    Atma
        4
    Atma  
       Dec 19, 2024
    es
    TWorldIsNButThis
        5
    TWorldIsNButThis  
       Dec 19, 2024 via iPhone
    es 分词呗
    yinmin
        6
    yinmin  
       Dec 20, 2024 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 注入
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2835 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 13:57 · PVG 21:57 · LAX 06:57 · JFK 09:57
    ♥ Do have faith in what you're doing.