gpt4 book ai didi

php - Solr:计算两个给定日期之间的差异,其中一个值为 *

转载 作者:搜寻专家 更新时间:2023-10-31 22:12:20 26 4
gpt4 key购买 nike

我正在做一些事情,当范围过滤器处于事件状态时,范围方面将相应地更新。如果没有给出过滤器,我将使用默认范围和间隙。如果设置了过滤器,我会进行第二次 solr 调用以重新计算构面范围差距。

例如,首先我显示了 10 年间隔的范围方面。当您过滤其中一个时,它会显示 1YEAR 的 10 个范围方面。如果您再次过滤,它将显示 12 个桶和 1 个月的范围等...

有点管用,但当范围过滤器包含 *. Solr 知道如何在给出 solrfield:[1960-01-01T00:00:00Z TO *] 时正确过滤结果,但我不知道如何根据 * 重新计算日期范围方面的差距。现在,我将两个日期之间的差异计算为 unix 时间戳,并据此计算范围差距。

此外,是否有我在这里尝试做的事情的名称?我将其称为“可变范围差距”,但我不确定这是否正确。

我什至不确定我正在做的是否是最好的方法。欢迎任何建议。

编辑:我的问题归结为:我想计算每个 solr 查询中字段的最高日期和最低日期之间的差异(作为 unix 时间戳)。

编辑 2:我执行的每个 solr 调用大约需要 300 毫秒(在相对较小的索引上)。如果我使用日期排序进行 2 次额外调用以查找查询中的最高和最低日期值,那将是相当重要的。然后使用正确的日期间隔(和从/到值)执行第 4 次 solr 调用,会有点慢。

最佳答案

您可以将其变成熟悉的“有限日期范围”案例。如果您的数据不可能在未来设置日期时间,您可以将 * 替换为 NOW 始终接收相同的结果集(因为没有日期可以晚于当前时刻)并根据当前时间戳计算间隔。

关于php - Solr:计算两个给定日期之间的差异,其中一个值为 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11506578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com