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

用户匹配 排序问题请求

  •  
  •   awanganddong · 2021-08-25 13:51:35 +08:00 · 1217 次点击
    这是一个创建于 946 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    这个需求我该怎么设计

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

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

    也就是拿我自身的维度与其他用户维度进行匹配。
    然后进行排序
    jmcjmc06
        4
    jmcjmc06  
       2021-08-25 21:29:43 +08:00 via Android
    我的归纳理解能力需要进一步提升
    imn1
        5
    imn1  
       2021-08-26 15:11:38 +08:00
    我帮楼主举个例子吧(按我的理解):

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

    如果这都理解错了,那就不知道谁要重修语文了
    awanganddong
        6
    awanganddong  
    OP
       2021-08-26 17:32:00 +08:00
    大家做过滴滴顺风车吧。和这个场景类型

    顺风车根据自己的行程。
    出发地点,到达地点,出发时间,到达时间,去匹配和我最优的打车人。
    aieike
        7
    aieike  
       2021-08-26 19:21:58 +08:00
    谁结束时间早, 谁就优先级高, 不就好了吗
    awanganddong
        8
    awanganddong  
    OP
       2021-08-27 09:36:02 +08:00
    @aieike 就比如你打算去上地,然后拼车。
    拼车的人有去上地的,有去望京的。
    你直接按结束时间早,进行匹配,然后你匹配了一个去望京的人。
    awanganddong
        9
    awanganddong  
    OP
       2021-08-28 10:13:04 +08:00
    知道怎么处理了,仅仅是两个维度,一个是坐标。
    一个是一个点对于一个点的绝对值。
    es 也有对于函数。
    ```
    {
    "query": {
    "bool": {
    "must": {
    "script": {
    "script": {
    "inline": "doc['f1'].value - doc['f2'].value < Math.abs(9)",
    "lang": "groovy"
    }
    }
    }
    }
    }
    }
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4070 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:18 · PVG 13:18 · LAX 22:18 · JFK 01:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.