您的功能请求是否与问题相关?请描述。
当前的 apply_filter_policy
函数在我们检索系统中仅支持基于字典的旧版过滤器。这个限制对于新过滤器语法来说变得有问题。例如,我们无法使用当前实现合并以下过滤器:{"field": "meta.name", "operator": "==", "value": "John"}
和{"field": "meta.year", "operator": "==", "value": "2022"}
。
描述您希望的解决方案
更新 apply_filter_policy
函数以支持旧版过滤器和新过滤器格式的合并功能。该函数应:
接受旧版和新版过滤器作为 init_filters
和 runtime_filters
的输入。
根据 FilterPolicy
为两种格式正确地合并(或替换)过滤器。
描述您考虑过的替代方案
没有考虑过
附加上下文
这个更改对于改进处理旧版和新版过滤器以及正确应用 FilterPolicy
至关重要。
3条答案
按热度按时间svdrlsy41#
@julian-risch @mrm1001 这个是2.3.0最终版本所需的,cc @sjrl
nue99wik2#
我拥有最多的上下文来修复这个问题,@sjrl将进行审查。
ajsxfq5m3#
所以我认为有三个基本场景我们可能想要涵盖:
meta.name
,我们应该使用哪一个。