【发布时间】:2019-03-15 13:10:46
【问题描述】:
在我工作的项目中,我们有必要使用某种模糊搜索来填充自动完成字段。这个自动完成字段必须显示一些信息作为用户在里面输入。
我正在使用 Azure SQL 数据库,但我发现无法使用 Master Data Services。 (https://docs.microsoft.com/en-us/sql/master-data-services/master-data-services-installation-and-configuration?view=sql-server-2017)
我已经在 Google 上搜索了一些解决方案,并找到了与 Levenstein 模糊搜索相关的内容,但我发现的实现并不适合我的场景。
我是模糊搜索的新手,请问您能否建议在 T-SQL 中实际实现模糊搜索。
【问题讨论】:
-
some kind of fuzzy search您想要的搜索类型非常重要。前缀搜索本质上是一个可以利用索引的LIKE 'prefix%'。在字符串中的任何地方搜索都不能使用任何索引。使用编辑距离(例如 Levenshtein 算法)对于 自动更正 搜索很有用。 SQL Server 在这些情况下无能为力 -
如果要进行前缀搜索,只需使用
LIKE 'prefix%'。在其他情况下,最好使用搜索引擎,例如 Elasticsearch 或托管的 Azure 搜索服务。
标签: tsql azure-sql-database fuzzy-search