假设我的数据存储中有人员列表。那里的每个人可能有以下字段:
- 姓 (*)
- 名
- 中间名字
- ID (*)
- 驾驶执照号码 (*)
- 另一个 ID (*)
- 出生日期
- 地区
- 出生地
至少有一个标有 (*) 的字段必须存在。
现在用户向我提供了相同的字段列表(并且必须再次提供至少一个标有 (*) 的字段)。我应该搜索用户提供的人。但并非所有字段都应匹配。我应该以某种方式向用户显示我在搜索结果中的确定方式。就像是:
- 如果人员与 and 匹配
id
(last name
并且用户只提供了这两个字段进行搜索),那么我确信结果是正确的(100%); - 如果人员与 and 匹配
id
(last name
并且用户提供了在数据库中找到但未匹配的其他字段),那么我确信结果几乎正确 60%; - 等等
(数字仅作为示例提供)
我怎样才能组织这样的搜索?有没有标准的算法?我还想尽量减少对数据库的请求数量。
PS 我无法为用户提供数据库中的实际字段值。