gpt4 book ai didi

Algolia:如何添加(是否可能)添加数字析取细化?

转载 作者:行者123 更新时间:2023-12-02 00:08:30 26 4
gpt4 key购买 nike

在我的数据库中,我存储了每条记录的到期日期。有些记录不会过期(永远有效),这些记录有一个 null 过期日期。

因此,例如,获取应显示的记录的 SQL 语句的逻辑是:

SELECT * FROM listings WHERE expires > NOW() OR expires IS NULL;

为了在 Algolia 中获取这些记录,我目前正在使用这个:

helper.addNumericRefinement('expires', '>=', moment().utc().startOf('day').unix());

这会留下 expires = null 记录,而我希望将它们输入。

我正在尝试为自己保存一个 cron 脚本,该脚本每天晚上都会从 Algolia 中删除所有过期的项目。这可能吗?

最佳答案

这绝对是可行的。

遗憾的是,Algolia 不支持对 NULL 值进行细化。因此,首先您需要更新索引脚本并将 NULL 值转换为整数或字符串。在你的情况下,我可能会选择 -1 而不是 NULL

然后您可以将查询参数filters设置为帮助器:

helper.setQueryParameter('filters','expires = -1 OR expires >= ' + current_time);

它会成功的。我创建了一个小的 jsFiddle 供您实时查看:https://jsfiddle.net/tdkxnuyn/

现在Algolia Helper JS不使用 filters 参数作为其高级方法(例如 addFacetRefinementaddNumericRefinement...),因此在 中使用是安全的>设置查询参数。但将来可能会发生变化,因此更新助手版本时要小心。

关于Algolia:如何添加(是否可能)添加数字析取细化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40977909/

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