私のデータストアに人のリストがあるとしましょう。そこにいる各人には、次のフィールドがある場合があります。
- 苗字 (*)
- ファーストネーム
- ミドルネーム
- ID (*)
- 運転免許証(※)
- 別のID (*)
- 生年月日
- 領域
- 出生地
(*) でマークされたフィールドの少なくとも1 つが存在する必要があります。
ここで、ユーザーは同じフィールドのリストを提供してくれます (また、(*) でマークされたフィールドの少なくとも1 つを提供する必要があります)。ユーザーが提供した人物を検索する必要があります。ただし、すべてのフィールドが一致する必要はありません。検索結果で、どうにかしてユーザーに確信を持って表示する必要があります。何かのようなもの:
id
人がand に一致した場合last name
(およびユーザーが検索用にこれら 2 つのフィールドのみを提供した場合)、結果は正しい (100%) と確信しています。- 人物が
id
and に一致した場合last name
(およびユーザーがデータベースで見つかったが一致しなかった他のフィールドを提供した場合)、結果は 60% ほぼ正しいと確信しています。 - 等
(数値は例として提供されています)
そのような検索をどのように整理できますか? 標準アルゴリズムはありますか?また、データベースへのリクエスト数を最小限に抑えたいと考えています。
PS データベースからの実際のフィールド値をユーザーに提供することはできません。