V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bubble21
V2EX  ›  程序员

用户推荐方案求解?

  •  
  •   bubble21 · 2023-08-08 11:03:46 +08:00 · 1259 次点击
    这是一个创建于 479 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用户推荐方案,用户有几项资料例如 本人学历(高中,大专,本科....),本人年龄,本人城市,本人年收入(5w,5w-10w,15w-30w...),

    期望学历(都可以,高中以上,大专以上,本科以上....),期望年龄(23-30),期望城市,期望年收入(都可以,5w 以上,15w 以上...)

    多选项的都是采用字典,现在是通过在 sql 中(CASE WHEN 城市=期望城市 THEN 1 ELSE 0)方式匹配,匹配一项条件加一分.性能,维护都是问题,请教一下有没有更优的方案?

    12 条回复    2023-08-08 14:54:55 +08:00
    Shamiko
        1
    Shamiko  
       2023-08-08 13:22:45 +08:00
    换 es
    Chad0000
        2
    Chad0000  
       2023-08-08 13:30:32 +08:00
    要我做的话我就弄一个推荐表,每个用户一条记录,由算法算出推荐的前 N 个用户。这样你可以后台异步计算推荐,不影响性能,也可以由条件触发,比如用户修改了个人城市,这个可以作为一个条件去触发重新计算推荐的用户。

    否则每天凌晨定时刷新。
    外加新用户默认推荐。
    bubble21
        3
    bubble21  
    OP
       2023-08-08 13:56:13 +08:00
    @Shamiko es 权重匹配机制吗?
    Shamiko
        4
    Shamiko  
       2023-08-08 13:59:10 +08:00
    @bubble21 对,用 es 之后想拓展也很简单
    bubble21
        5
    bubble21  
    OP
       2023-08-08 13:59:27 +08:00
    @Chad0000 如果是整个平台推荐用户可以这么做,我这边是给每个用户匹配推荐一批用户
    bubble21
        6
    bubble21  
    OP
       2023-08-08 14:00:58 +08:00
    @Shamiko es 不是很熟悉,能否针对某个字段区间匹配,针对某个字段全匹配
    Shamiko
        7
    Shamiko  
       2023-08-08 14:10:44 +08:00
    @bubble21 没记错的话是可以的
    bubble21
        9
    bubble21  
    OP
       2023-08-08 14:24:15 +08:00
    @Shamiko 感谢
    Chad0000
        10
    Chad0000  
       2023-08-08 14:28:24 +08:00 via iPhone   ❤️ 1
    @bubble21
    我说的就是每个用户推荐。一条记录是为了方便存储,保存的是给这个用户推荐的用户 ID 列表。
    bubble21
        11
    bubble21  
    OP
       2023-08-08 14:47:11 +08:00
    @Chad0000 也是种办法,感谢
    bubble21
        12
    bubble21  
    OP
       2023-08-08 14:54:55 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2101 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 00:34 · PVG 08:34 · LAX 16:34 · JFK 19:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.