Public/Get-AllegisNameScore.ps1
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] } |