Sql 如何进行全文关键字搜索

Sql 如何进行全文关键字搜索,sql,sql-server-2012,Sql,Sql Server 2012,不是100%确定如何命名这个,但这里是我的问题 假设我想在一个字符串中查找多个单词,例如:“AHU替换” 现在,用户可以将其存储在数据库中作为 "Replacement of AHU" "Replacement of the AHU" "The AHU needs Replacing" 最有可能的方式有很多种,那么我如何编写一个查询来扫描一个表,并根据这个搜索字符串来检测所有这些,例如“AHU替换”,它将作为键搜索存储在一个表本身中 此代码可以找到上面的前两个字符串,但是“替换”和“替换”的变

不是100%确定如何命名这个,但这里是我的问题

假设我想在一个字符串中查找多个单词,例如:
“AHU替换”

现在,用户可以将其存储在数据库中作为

"Replacement of AHU"
"Replacement of the AHU"
"The AHU needs Replacing"
最有可能的方式有很多种,那么我如何编写一个查询来扫描一个表,并根据这个搜索字符串来检测所有这些,例如
“AHU替换”
,它将作为键搜索存储在一个表本身中

此代码可以找到上面的前两个字符串,但是“
替换
”和“
替换
”的变化是一个问题:

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

从我对你问题的理解来看,你想要的是全文搜索功能。全文搜索使用特殊类型的索引来做一些强大的事情,比如计算匹配的相关性。您可以使用它进行一些非常强大的字符串匹配,这是其他任何方法都不可能做到的。SQLServer支持这一点。对于sql server 2012,请查看此文档以了解有关如何启用它的详细信息


有关简单用法的更多信息,请参见此帮助。

根据我对您问题的理解,您需要的是全文搜索功能。全文搜索使用特殊类型的索引来做一些强大的事情,比如计算匹配的相关性。您可以使用它进行一些非常强大的字符串匹配,这是其他任何方法都不可能做到的。SQLServer支持这一点。对于sql server 2012,请查看此文档以了解有关如何启用它的详细信息

有关简单用法的更多信息,请参见此帮助