gpt4 book ai didi

java - 无法分析大型规则的表达式错误

转载 作者:行者123 更新时间:2023-12-01 10:03:50 24 4
gpt4 key购买 nike

我们正在使用 Drools v6.3.4 - 但经过测试发现 v7.3.0 中也发生了同样的问题。
当我们编写规则长度为 27000 个字符或更多的规则时,我们会收到“无法分析表达式”错误

rule "StoreRule"

when
(s: Store.StoreItems(storeitemname in ("STORE0000001","STORE0000002"....really long list)))
then
System.out.println("Discount!");
end

我们有一个解决方法,就是像这样拆分规则 -
rule "StoreRule"

when
(s: Store.StoreItems(storeitemname in (<List 1>))) ||
(s: Store.StoreItems(storeitemname in (<List 2>))) ||....and so on
then
System.out.println("Discount!");
end

我们在单个长列表中遇到错误的根本原因是什么?除了上面指定的解决方法之外,是否有更好的方法来处理此类规则?

当我们有大规则时,我们会收到以下错误。

enter image description here

最佳答案

确保一个 storeitemname 不能是其他 storeitemname 的一部分

rule "StoreRule"

when
(s: Store.StoreItems("STORE0000001|STORE0000002|really long list" contains storeitemname))
then
System.out.println("Discount!");
end

关于java - 无法分析大型规则的表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50397526/

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