diff options
author | Rocky Madden <git@rockymadden.com> | 2012-10-07 03:10:16 -0600 |
---|---|---|
committer | Rocky Madden <git@rockymadden.com> | 2012-10-07 03:10:16 -0600 |
commit | 4ad34e4b136567c4a3386982ab603a5ed32a90e1 (patch) | |
tree | 339afc08c51dd2704c52b86fe0e952d207f31e0a | |
parent | e24a4ec4e4e370fb538455fe2d4c0fb0a22d0c0e (diff) | |
download | stringmetric-4ad34e4b136567c4a3386982ab603a5ed32a90e1.tar.gz stringmetric-4ad34e4b136567c4a3386982ab603a5ed32a90e1.tar.bz2 stringmetric-4ad34e4b136567c4a3386982ab603a5ed32a90e1.zip |
Moved prefix declaration to below jaro, as this should improve performance in some cases.
-rwxr-xr-x | core/source/core/scala/org/hashtree/stringmetric/JaroWinklerMetric.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/source/core/scala/org/hashtree/stringmetric/JaroWinklerMetric.scala b/core/source/core/scala/org/hashtree/stringmetric/JaroWinklerMetric.scala index dec2cbe..eefefd4 100755 --- a/core/source/core/scala/org/hashtree/stringmetric/JaroWinklerMetric.scala +++ b/core/source/core/scala/org/hashtree/stringmetric/JaroWinklerMetric.scala @@ -11,8 +11,8 @@ import scala.util.control.Breaks.{ break, breakable } */ object JaroWinklerMetric extends StringMetric { override def compare(charArray1: Array[Char], charArray2: Array[Char]): Float = { - val prefix = charArray1.zip(charArray2).takeWhile(t => t._1 == t._2).map(_._1) val jaro = JaroMetric.compare(charArray1, charArray2) + val prefix = charArray1.zip(charArray2).takeWhile(t => t._1 == t._2).map(_._1) jaro + ((if (prefix.length <= 4) prefix.length else 4) * (0.1f * (1 - jaro))) } |