名前のリストを検索するSQL/.NETプロジェクトに参加しています。人の似たようなファーストネームでいくつかの結果を返す方法を探しています。 「トム」を検索すると、結果にはトム、トーマスなどが含まれます。これがファイルかWebサービスかは重要ではありません。サンプルデザイン:
Table "Names" has Name and NameID
Table "Nicknames" has Nickname, NicknameID and NameID
出力例:
You searched for "John Smith"
You show results Jon Smith, Jonathan Smith, Johnny Smith, ...
ニックネームと名前の関係を設定するこのタイプのタスクに適したデータベース(公開または有料)はありますか?
「ニックネームのデータベース」でのグーグル検索が判明 pdNickName (有料)。
さらに、このジョブでは、NameID、Name、およびMasterNameIDを持つ2つのテーブルではなく、1つのテーブルのみが必要だと思います。すべてのニックネームが「名前」列に入ります。 1つの名前は「正規」の名前と見なされます。すべてのニックネームレコードは、MasterNameID列を使用してそのレコードを指し示し、正規名はそれ自体を指します。
2つのテーブルスキーマには追加情報が含まれておらず、ニックネームテーブルの入力方法によっては、正規のケースを処理するために追加のコードが必要になる場合があります。
Googleでこの質問に出くわした人のために、別のソースを追加します。このプロジェクトは、この目的のための非常に優れたルックアップを提供します。
https://github.com/carltonnorthern/nickname-and-diminutive-names-lookup
これはpdNickNameよりもやや単純で完全ではありませんが、一方で無料で使いやすいです。
私はこのサイトを見つけました。
かなり簡単にスクリプトを作成できるようです。
http://www.behindthename.com/php/extra.php?terms=steve&extra=r&gender=m
これを英語に自動で絞り込めればいいのに。
別の商用名一致データベースは次のとおりです: http://www.basistech.com/name-indexer/
かなりプロフェッショナルに見えます(ただし、高価になる可能性があります)。
彼らは次の言語をサポートすると主張しています:
アラビア語、中国語(簡体字)、中国語(繁体字)、ペルシア語(ファルシ/ダリ語)、英語、日本語、韓国語、パシュトー語、ロシア語、ウルドゥー語
これが 関連する名前のcsvを含むgithubリポジトリ であり、貢献することができます。
最初の数行は形式を示しています。
aaron,ron
abel,abe
abednego,bedney
abijah,ab,bige
abigail,ab,abbie,abby,gail
abner,ab,abbie,abby
abraham,abe,abram,bram
absalom,ab,abbie,app
スタンジェームスのcsvと同様の形式ですが、ルックアップの2つの方法が折り畳まれています:名前からニックネームへ: https://github.com/MrCsabaToth/SOEMPI/blob/master/openempi/conf/name_to_nick.csv ニックネームから名前: https://github.com/MrCsabaToth/SOEMPI/blob/master/openempi/conf/nick_to_name.csv
PdNicknamesというデータベースがあります( http://www.peacockdata2.com/products/pdnickname/ にあります)。 500ドルで、必要なものがすべて含まれています。
同様のサウンド名を選択するには、次を使用します:( [〜#〜] msdn [〜#〜] を参照)
SELECT SOUNDEX ('Tom')