Hi Irving. That is a very interesting and kind of cool problem. <br>Happily, Mike Brock who built MVEL, which is part of drools, embeded soundex into it.<br><br>So you can do (and I just tried this):<br><br>rule &quot;Hello World&quot;
<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c : Cheese( eval(type soundslike &quot;foobar&quot;) )<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c.setPrice(42);<br>end<br><br>And it will match &quot;Cheese&quot; with a type of &quot;fubar&quot; as well. Using soundex standard. You could of course use a function to use some other library that you want, but this is built in. 
<br><br>Note the use of &quot;eval&quot; inside the pattern to indicate it is an expression, not a field constraint. <br><br>Hope that helps !<br><br>Michael.<br><br><div><span class="gmail_quote">On 9/4/07, <b class="gmail_sendername">
Irving Reid</b> &lt;<a href="mailto:irving@cfrq.net">irving@cfrq.net</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I have a use case where we&#39;d like to match free text strings, with words sometimes spelled incorrectly. Has anyone tried Drools with an approximate string matcher (
<a href="http://en.wikipedia.org/wiki/Approximate_string_matching">http://en.wikipedia.org/wiki/Approximate_string_matching</a>)?<br><br>I know that I can use regular expressions to match some common spelling errors, but it would be way cool to use an algorithm that doesn&#39;t need to have all the possible errors programmed in beforehand.
<br><br> - irving -<br><br><br><br><br>_______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users">
https://lists.jboss.org/mailman/listinfo/rules-users</a><br></blockquote></div><br>