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

求解一个蛮奇怪的搜索场景, leetcode medium?

  •  
  •   chanlk · 44 天前 · 769 次点击
    这是一个创建于 44 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我有数据存储在第三方的 server 上,数据的元数据(一些 key,value)中包含了 timestamp = 1723796004500 或者 time = yyyy-MM-dd HH:mm:ss 格式的时间。
    上述两种格式可以任选一种,又或者你有其他的格式存储也可。

    第三方 server 提供数据取回的 api ,提供了根据元数据过滤的功能,但仅支持字符串 startAt 匹配的方式。
    下面的示例将返回具有以 ca 开头的动物属性的数据源(例如,cat 或 camel )。
    "startsWith": {"key":"animal","Value":"ca"}

    我需要怎么处理才能正确获得最近 N 小时的数据,N 的可能取值是[0,24].

    一些额外的限制:
    因为获取接口非常慢,所以每次只能请求一次,不能循环请求。
    允许数据一些偏差,比如限定最近 1 小时,也可以是最近 1.2 或者 1.5 小时。

    试过 gpt4 Claude3,还没有很好的答案

    这个坑爹的场景来源于:
    https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html
    1. 要用 equals 的 Filter 去过滤用户
    2. 要用 greatThan 的 Filter 去过滤时间,以得到最近 N 小时的数据
    BUT! This data type is a UNION, so only one of the following members can be specified when used or returned.
    只能使用一个 filter 去过滤!
    因此我只能选择 startsWith 这种方式, 所以实际我的过滤条件前面是 用户的 token+时间
    3 条回复    2024-08-19 14:03:13 +08:00
    chanlk
        1
    chanlk  
    OP
       44 天前
    带进制的时间表达估计是搞不定了,尝试采用"画正字"的方式。
    0 代表 2024 年的 1 月 1 日 0 点 1 分 0 秒
    3 代表 2024 年的 1 月 1 日 0 点 4 分 0 秒
    9 代表 2024 年的 1 月 1 日 0 点 10 分 0 秒
    a 代表 2024 年的 1 月 1 日 0 点 11 分 0 秒
    c 代表 2024 年的 1 月 1 日 0 点 13 分 0 秒
    z 代表 2024 年的 1 月 1 日 0 点 36 分 0 秒
    A 代表 2024 年的 1 月 1 日 0 点 37 分 0 秒
    C 代表 2024 年的 1 月 1 日 0 点 39 分 0 秒
    Z 代表 2024 年的 1 月 1 日 1 点 02 分 0 秒
    Z0 代表 2024 年的 1 月 1 日 1 点 03 分 0 秒

    注意:这里不采用进位的模式,而是向后累加的方式,每个 Z 代表 62 分钟。

    这样的问题是时间久了之后会非常占用位置,不过数据集最多只保存最近的一个月。
    可能要设计一下了。
    MoYi123
        2
    MoYi123  
       44 天前
    andAll 和 orAll 能互相嵌套吗? 它好像没说不能.
    chanlk
        3
    chanlk  
    OP
       41 天前
    @MoYi123 啊这,可以用 andAll ,把几个条件放在这个 andAll 里面。这个怪我没仔细看文档的每一个方法。
    不过这个确实蛮怪的,和 SQL 的这种一个加一个思路不太一样。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1210 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:26 · PVG 07:26 · LAX 16:26 · JFK 19:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.