使用全文搜索来查找部分单词 (SQL Server 2008)

Posted

技术标签:

【中文标题】使用全文搜索来查找部分单词 (SQL Server 2008)【英文标题】:Using Full-Text-Search in order to find partial words (SQL Server 2008) 【发布时间】:2011-02-27 02:42:45 【问题描述】:

我正在尝试构建一个类似于搜索我的软件的 facebook。

我想查询表customers。

我已经建立了一个全文索引并尝试了下一个查询

SELECT * FROM Customer where CONTAINS(*,'*ann*')

该查询确实返回了所有名为 Ann 的客户,但并未返回所有名为 Anne 的客户。

有没有办法使用 FTS 在 SQL Server 2008 上创建前缀搜索?

【问题讨论】:

【参考方案1】:

我找到了解决问题的方法。 查询应该是:

select * from Customers where contains(*, '"ann*"')

引号是重要的部分。

【讨论】:

只是想补充一点,此解决方案仅适用于 '"ann*"' 中的前缀。它不适用于'"*ann*"''"ann"' 等后缀。

以上是关于使用全文搜索来查找部分单词 (SQL Server 2008)的主要内容,如果未能解决你的问题,请参考以下文章

多词包含全文搜索仅在 SQL Server 中部分工作

SQL Server 2005 全文搜索:干扰词

SQL Server - 基于百分比的全文搜索

SQL Server 使用全文索引进行页面搜索

如何在 SQL Server 中进行包含字符串每个单词的搜索查询?

sql server CONTAINS用法??