如何进行全文关键字搜索

时间:2015-10-02 13:10:56

标签: sql sql-server-2012

不是100%肯定如何标题,但这是我的问题

说我想在字符串中找到多个单词,例如:"AHU Replacement"

现在用户可以将其作为

存储在数据库中
"Replacement of AHU"
"Replacement of the AHU"
"The AHU needs Replacing"

并且很可能在很多方面,所以如何编写一个可以扫描表并根据此搜索字符串检测所有这些的查询作为示例"AHU Replacement",它将存储在表本身中作为关键搜索

此代码可以找到上面的前两个字符串,但是" Replacing"的变化。和" Replacement"是一个问题:

SELECT * FROM ProjectNotes where Notes like '%AHU%' and Notes like '%replacement%'

1 个答案:

答案 0 :(得分:4)

根据我对您的问题的理解,您正在寻找的是全文搜索功能。全文搜索使用特殊类型的索引来执行强大的操作,例如计算匹配的相关性。你可以做一些非常强大的字符串匹配,这是不可能的任何其他方式。 Sql server支持这个。对于sql server 2012,请查看此post以获取有关如何启用它的详细信息。

另请参阅此有用的video以获取有关简单用法的更多信息。