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

请教关于多表结合的全文搜索

  •  
  •   lasuar · 1 天前 via iPhone · 588 次点击

    我有三张关联的表,好比学校,学生,老师( 12 ,13 关联)三张表,然后现在我有一个全文搜索需求,这个搜索词可以是学校名称,学生名称,老师名称,我想请教一下怎么来实现这个三张表里面的全文搜索,然后按照匹配度排序结果,返回的结果都是学校,但包含匹配的学生和老师。

    这个和搜索引擎的那个形式有点类似,后端是怎么实现的呢?请教各位~~~

    第 1 条附言  ·  1 天前
    • 没有立即考虑使用es是原因是不太熟悉,而且es栈确实复杂、资源占用高;
    • 而clickhouse的全文搜索索引怎么还是实验性的feature
    8 条回复    2024-11-30 17:17:22 +08:00
    typedefine
        1
    typedefine  
       1 天前
    三个表需要全文检索的字段同步到一个 ES index 里就可以了吧
    miaotaizi
        2
    miaotaizi  
       1 天前
    join 搜不行吗
    lasuar
        3
    lasuar  
    OP
       1 天前 via iPhone
    @typedefine 好像是这么回事
    lasuar
        4
    lasuar  
    OP
       1 天前 via iPhone
    @miaotaizi MySQL 性能差点
    lasuar
        5
    lasuar  
    OP
       1 天前
    @typedefine 很久没用过 es 了,以同样的道理,我把数据合并到 clickhouse 里面的单张表做全文搜索,应该也可以。
    miaotaizi
        6
    miaotaizi  
       1 天前
    @lasuar #4 先做出来再看性能吧, 学校, 学生, 老师 这种场景能有多少记录, 当你能把全省的信息都覆盖的时候, 那转 es 也就是分分钟的事了
    lasuar
        7
    lasuar  
    OP
       1 天前
    @miaotaizi 可以的,先 mysql 的 JOIN+全文搜索看看效果
    Akkuman
        8
    Akkuman  
       17 小时 31 分钟前 via Android
    既然你使用 MySQL ,变动最小的方案就是 Mroonga 了,支持 CJK 的全文索引
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2552 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 02:48 · PVG 10:48 · LAX 18:48 · JFK 21:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.