As promised, here&#39;s my report on investigating Soundex and related algorithms.<br><br>(1) MVEL2 has an utility returning a &quot;key&quot; String from a &quot;word&quot; String that is close to what the Original Soundex algorithm is supposed to return. Not being exactly the same doesn&#39;t matter much as long you compare results from the same algorithm.<br>
<br>(2) The National Archives and Records Administration has issued a modified Soundex algorithm, which is supposedly slightly better.<br><br>(3) Then, there is the New York State Identification and Intelligence System (NYSIIS) Phonetic Encoder, which is reported to be 2.7% better than Soundex. <br>
<br>(4) A modified version of NYSIIS has also been defined, for both of them see <a href="http://www.dropby.com/NYSIIS.html">http://www.dropby.com/NYSIIS.html</a>. (I have some doubts whether this page reflects a correct implementation of the original NYSIIS algorithm; e.g., &quot;Bahr&quot; returns &quot;B&quot;, which can&#39;t be correct.)<br>
<br>All of the above are only useful for English pronounciations of proper names.<br><br>(5) For German, there is something called &quot;Kölner Phonetik&quot;.<br><br>I have implemented (1), (2), (3) and (5) in a class SoundsLikeEvaluatorDefinition implements EvaluatorDefinition, implementing the operator soundsLike (note the capital &#39;L&#39;) in the variants soundsLike or soundsLike[orig] for (1), soundsLike[us] for (2), soundsLike[ny] for (3) and soundsLike[de] for (5).<br>
<br>All of this has been an interesting (for me) exercise, but I really don&#39;t know whether any of this should go into Drools. (There is the issue of fixing a NPE with the current implementation that calls the MVEL2 code, though.) <br>
<br>It&#39;s up to you, Team, to vote on this; I can contribute the aforementioned class, with &quot;soundsLike&quot; replaced by &quot;soundslike&quot; as a replacement for the current implementation (not requiring the MVEL2 utility) with the option of using the various operator parameters.<br>
<br>Cheers<br>Wolfgang<br><br>