<div>Drools 5.1.0</div>I have a need to match list of incoming strings to those in the rule. All the strings in the fact object needs to exists in the rule.<div>I have a large set of rules around 5000.</div><div>In general I have around 4 conditions per rule and its taking in average around 30- ~40 ms to go through the 5000 rules. <br>
<div><br></div><div>However the following construct that I am using to match the incoming set of input strings is adding on the average 200ms to rules execution.</div><div>Is there a more efficient way to do this?</div><div>
<br></div><div>MyContext is the fact class and classes is array of String.</div><div>I need to make sure that the classes array contains all three strings TestString1, TestString2 and TestString3.</div><div><div><br></div>
<div>MyContext(DclassesList : classes)</div><div>exists( String(this matches "TestString1") || String(this matches "TestString2") || String(this matches "TestString3") from DclassesList)</div>
</div></div><div><br></div><div>Of course each rule in the 5000 can have diff set of strings to match.</div><div><br></div><div>Thanks</div>