CONTAINS 函数在 SQL Server 2014 中不起作用

CONTAINS function is not working in SQL Server 2014

以下查询是使用 SQL Server 2014 CONTAINS 函数编写的。

SELECT 
    Org1.OrganizationPK
    ,*
FROM Organization Org1
WHERE Org1.Deleted = 0
    AND CONTAINS (Org1.NAME,'"chris6*"')
    AND org1.OrgDomainInd = 1

但是,上面的查询 NOT 工作。

我已关注 this article 以了解有关 CONTAINS 函数的更多信息。我已经按原样验证了这些示例。即使在这里,我也没有得到任何结果。

我已经验证了这个post from Whosebug,但是我无法申请我的要求。

因此,我开始怀疑我是否需要做更多的事情来配置 SQL Server 2014 以使用 CONTAINS[=33= 】 功能?如果我需要做任何事情才能让 SQL Server 2014 准备好使用 CONTAINS 功能,请告诉我。 如果没有那样的话,请给我建议解决方案。

请不要建议我使用 LIKE 运算符。我之所以这样说,是因为我的大多数同事都建议我这样做;因此,作为预防措施,我在此写下此声明。

我 运行 落后于计划完成此任务。

我认为 contains 功能只能在配置为 use/support 全文搜索 的表中使用 -- [=17= 的旧功能] 我没有什么经验的服务器。如果您没有使用全文搜索,我敢肯定 contains 将无法正常工作。

CONTAINS 对您需要设置全文索引的列起作用之前。这实际上是一个不同的引擎,在 SQL 服务器中作为 separate service 运行,因此请确保它安装在 运行.
一旦确定组件已安装(它可能已经安装),您需要执行以下操作:

  1. 创建全文目录
  2. 针对您希望能够使用全文关键字的 tables/columns 创建一个全文索引(您可以在同一目录中拥有多个)
  3. 运行 将抓取创建的索引并填充目录的人口(这些是 SQL 服务器除了 mdf/ldf 之外还需要维护的单独文件)

Pinal Dave on CodeProject 提供了一个关于如何在 SQL Server 2008 中使用 SSMS 执行此操作的不错的教程。 SQL Server 2014应该很相似。 您还可以使用 TSQL:

执行这些步骤
  1. CREATE FULLTEXT CATALOG
  2. CREATE FULLTEXT INDEX
  3. ALTER FULLTEXT INDEX