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

用户匹配 排序问题请求

  •  
  •   awanganddong · 95 天前 · 718 次点击
    这是一个创建于 95 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求是这样的。 用户 A (开始时间 结束时间) 用户 B (开始时间 结束时间) 。。。

    用户 N (开始时间 结束时间)

    匹配出用户 A 对应其他用户的优先级

    首先匹配开始时间最相近的 然后匹配结束时间最相近的 最后进行排序

    这个需求我该怎么设计

    9 条回复    2021-08-28 10:13:04 +08:00
    shanghai1943
        1
    shanghai1943   95 天前
    你这需求看的一头雾水。。要不你先描述的清楚一点再说吧。
    sunjiayao
        2
    sunjiayao   95 天前   ❤️ 1
    order by abs(begin_time - match_begin_time),abs(end_time - match_end_time) 如果数据不多,用 mysql 这么玩试试
    awanganddong
        3
    awanganddong   95 天前
    @sunjiayao 谢谢
    @shanghai1943 需要做用户的匹配功能。需要根据距离维度和时间维度对用户进行匹配度的筛选。

    首先匹配出发地,然后匹配到达地。其次匹配出发时间,最好匹配到达时间。

    也就是拿我自身的维度与其他用户维度进行匹配。
    然后进行排序
    jmcjmc06
        4
    jmcjmc06   95 天前 via Android
    我的归纳理解能力需要进一步提升
    imn1
        5
    imn1   94 天前
    我帮楼主举个例子吧(按我的理解):

    医院挂号,需求就是搜索病人 A 在当天排第几

    如果这都理解错了,那就不知道谁要重修语文了
    awanganddong
        6
    awanganddong   94 天前
    大家做过滴滴顺风车吧。和这个场景类型

    顺风车根据自己的行程。
    出发地点,到达地点,出发时间,到达时间,去匹配和我最优的打车人。
    aieike
        7
    aieike   94 天前
    谁结束时间早, 谁就优先级高, 不就好了吗
    awanganddong
        8
    awanganddong   93 天前
    @aieike 就比如你打算去上地,然后拼车。
    拼车的人有去上地的,有去望京的。
    你直接按结束时间早,进行匹配,然后你匹配了一个去望京的人。
    awanganddong
        9
    awanganddong   92 天前
    知道怎么处理了,仅仅是两个维度,一个是坐标。
    一个是一个点对于一个点的绝对值。
    es 也有对于函数。
    ```
    {
    "query": {
    "bool": {
    "must": {
    "script": {
    "script": {
    "inline": "doc['f1'].value - doc['f2'].value < Math.abs(9)",
    "lang": "groovy"
    }
    }
    }
    }
    }
    }
    ```
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2491 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:11 · PVG 22:11 · LAX 06:11 · JFK 09:11
    ♥ Do have faith in what you're doing.