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

用户匹配 排序问题请求

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

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

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

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

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

    这个需求我该怎么设计

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

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

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

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

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

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