SQL Server文本搜索
我有一个业务需求,我们需要对存储在数据库中的记录进行一些疯狂的名称匹配,我想知道是否有任何简单的方法可以使用SQL Server进行匹配 数据库中存储的名称:Austin K 要从UI匹配的名称:Austin Kierland 那只是一个样本。实际上,可能会有很多不同的排列和组合 如果是另一种情况,我可以使用野生字符,但在本例中,数据库中的名称小于搜索条件SQL Server文本搜索,sql,sql-server,sql-server-2008,text-search,Sql,Sql Server,Sql Server 2008,Text Search,我有一个业务需求,我们需要对存储在数据库中的记录进行一些疯狂的名称匹配,我想知道是否有任何简单的方法可以使用SQL Server进行匹配 数据库中存储的名称:Austin K 要从UI匹配的名称:Austin Kierland 那只是一个样本。实际上,可能会有很多不同的排列和组合 如果是另一种情况,我可以使用野生字符,但在本例中,数据库中的名称小于搜索条件 有什么建议吗?现实地说,没有。数据库是用来比较绝对值的,而不是乱七八糟的比较。他们在内部存储数据的方式不适合真正混乱的匹配。事实上,即使是像
有什么建议吗?现实地说,没有。数据库是用来比较绝对值的,而不是乱七八糟的比较。他们在内部存储数据的方式不适合真正混乱的匹配。事实上,即使是像谷歌这样的超级强大的专用搜索引擎,有很多杂乱的匹配功能,在没有事先了解的情况下也无法完成您的示例
我不知道该要求的确切措辞,但我要么用“技术上不可能”来处理该功能请求,要么实现一个规则集,尝试进行混乱的匹配——例如,您可以轻松地“硬编码”,输入大写单词时执行多个搜索,将它们缩短为一个字母。但是,不知道这是否是问题的解决方案。您可以使用LIKE运算符执行常规搜索,该运算符确定特定字符串是否与指定模式匹配。您将遇到的问题是返回多个记录或不正确人员的可能性。我对商业应用程序也有类似的要求,解决这个问题的最好办法是要求其他符合条件的值,而不仅仅是名称。如果您在没有其他合格数据的情况下进行部分名称搜索,您肯定会遇到假阳性匹配和/或多个记录。在我的例子中,我构建了一个web服务,它检查资格,允许文本搜索名字和姓氏,但还添加了出生日期、主要人物SSN和性别,从而确保匹配的人实际上就是要搜索的人。如果我的情况与您的情况类似,名称是唯一的搜索标准,那么我对业务部门的建议是,在将符合条件的数据输入数据库之前,我们无法执行搜索,否则无法准确查询他们正在查找的结果。请注意。