我参与了一个SQL / .NET项目,该项目将搜索名称列表。我正在寻找一种以相似的名字返回某些结果的方法。如果搜索“Tom”,则结果将包括Thom,Thomas等。这是文件还是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, ...

是否有适合此类任务的数据库(公共(public)数据库或付费数据库)来填充昵称和名字之间的关系?

最佳答案

谷歌搜索“昵称数据库”打开了pdNickName(收费)。

另外,我认为您只需要一个表就可以完成此工作,而不是两个表,分别是NameID,Name和MasterNameID。所有昵称都进入“名称”列。一个名称被认为是“规范”名称。所有昵称记录都使用MasterNameID列指向该记录,而规范名称指向其自身。

您的两张表架构不包含任何其他信息,并且根据您填写昵称表的方式,可能需要其他代码来处理规范的情况。

关于database - 人的常用名字别名/昵称数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2381522/

10-15 09:46