私の前のポストLink hereにアップした後、私たちが今直面している他の課題は、アドレスフィールド[ADDR_LINE_1, ADDR_LINE_2, CITY, STATE, ZIP]
ための最良の一致を見つけることです。見つけるベストマッチ - オラクル/ Javaの
私たちは、[ファイルから]の着信アドレスレコードに可能な一致になり、データベース内のすべてのレコードを返すようにしたいです。シナリオは次のとおりです。
データベースには2レコードあります。入ってくるレコードの
ADDR_LINE_1, ADDR_LINE_2 , CITY , STATE, ZIP
001 Chestnut Avenue, Apt 100 , Indiana , IN , 9999
Apt 100 , 001 Chestnut Ave., Indianapolis, IN , 9999
、私は既存のレコードなどのレコードを検出し、上記の可能な一致の両方を一覧表示したい
ADDR_LINE_1, ADDR_LINE_2, CITY , STATE, ZIP
1 Chestnut Avenue, Apt 100 , Indiana , IN , 9999
を次のように。
[注]データベースエントリの順序を入れ替えて、それでも可能なマッチとしてリストされなければなりません。
誰もが、私はそれについて移動することができます方法についてのアドバイスを提供していただけますか?
初段 - 何handwavingありませんポイントに、「可能性の一致」を定義し、それを強く与えられた記録が可能に一致するかどうかを定義します。第2段階 - このブール関数を実装する(これは簡単にできるはずです)。 –
あなたの提案をお寄せいただきありがとうございます、これまで私が考えることができることは次のとおりです。まず、City、State、Zipcodeなどの一定の値に基づいてレコードをフィルタリングすることができます。これはおそらく私が絞り込むのに役立ちます。次に、住所ライン1と住所ライン2の文字列トークンについて、少なくとも1/2のトークンが連結されているかどうかを調べることができます。つまり、「001 Chestnut Avenue」と「Apt 100」を連結し、「1 Chestnut Avenue 100pt "を検索し、5つの文字列トークンのうちの3つを見つけます。これにより、レコード全体が一致する可能性があります。 –
私はパフォーマンスについては少し心配しています –