Public/Get-AllegisNameScore.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
function Get-AllegisNameScore ($first1, $middle1, $last1, $first2, $middle2, $last2){ #if ((Get-FuzzyMatchScore -Search "$first1 $middle1 $last1" -String "$first2 $middle2 $last2") -lt 100){} $results=@([PSCustomObject]@{ method = 'first+middle+last' weight = 1 score = .01 * (get-pasmAverage -string1 "$first1 $middle1 $last1".Replace(' ',' ') -string2 "$first2 $middle2 $last2".Replace(' ',' ')) detailed = (get-pasmAverage -string1 "$first1 $middle1 $last1".Replace(' ',' ') -string2 "$first2 $middle2 $last2".Replace(' ',' ') -detailed $true) }) if ($results.score -lt .33){return $results} $results+=[PSCustomObject]@{ method = 'first+last' weight = .97 score = .01 * (get-pasmAverage -string1 "$first1 $last1".Replace(' ',' ') -string2 "$first2 $last2".Replace(' ',' ')) detailed = (get-pasmAverage -string1 "$first1 $last1".Replace(' ',' ') -string2 "$first2 $last2".Replace(' ',' ') -detailed $true) } if ($first1 -ge 2){ $results+=[PSCustomObject]@{ method = 'first1 only' weight = .90 score = .01 * (get-pasmAverage -string1 "$first1".Replace(' ',' ') -string2 "$first2 $last2".Replace(' ',' ')) detailed = (get-pasmAverage -string1 "$first1".Replace(' ',' ') -string2 "$first2 $last2".Replace(' ',' ') -detailed $true) } } if ($first2 -ge 2){ $results+=[PSCustomObject]@{ method = 'first2 only' weight = .90 score = .01 * (get-pasmAverage -string1 "$first2".Replace(' ',' ') -string2 "$first1 $last1".Replace(' ',' ')) detailed = (get-pasmAverage -string1 "$first2".Replace(' ',' ') -string2 "$first1 $last1".Replace(' ',' ') -detailed $true) } } if ($middle1 -ge 2){ $results+=[PSCustomObject]@{ method = 'middle1 as first' weight = .90 score = .01 * (get-pasmAverage -string1 "$middle1 $last1".Replace(' ',' ') -string2 "$first2 $last2".Replace(' ',' ')) detailed = (get-pasmAverage -string1 "$middle1 $last1".Replace(' ',' ') -string2 "$first2 $last2".Replace(' ',' ') -detailed $true) } } if ($middle2 -ge 2){ $results+=[PSCustomObject]@{ method = 'middle2 as first' weight = .90 score = .01 * (get-pasmAverage -string1 "$middle2 $last2".Replace(' ',' ') -string2 "$first1 $last1".Replace(' ',' ')) detailed = (get-pasmAverage -string1 "$middle2 $last2".Replace(' ',' ') -string2 "$first1 $last1".Replace(' ',' ') -detailed $true) } } $results+=[PSCustomObject]@{ method = 'last+first' weight = .90 score = .01 * (get-pasmAverage -string1 "$last1 $first1".Replace(' ',' ') -string2 "$first2 $last2".Replace(' ',' ')) detailed = (get-pasmAverage -string1 "$last1 $first1".Replace(' ',' ') -string2 "$first2 $last2".Replace(' ',' ') -detailed $true) } foreach ($item in $results){ $item | Add-Member -NotePropertyName weightedscore -NotePropertyValue ($item.score * $item.weight) -force } return ($results | Sort-Object weightedscore -Descending)[0] } |