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

时间:2015-10-06 14:14:46

标签: sql-server 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 stackoverflow,但我无法申请我的要求。

因此,我怀疑是否需要采取更多措施来配置SQL Server 2014以使用 CONTAINS 功能?如果我需要做任何事情来使SQL Server 2014准备好使用CONTAINS功能,请告诉我。 如果没有这样的话,请向我建议解决方案。

请不要建议我使用LIKE运算符。我告诉这个为什么,因为我的大多数同事都建议我这样做;因此,作为预防性事项,我在这里写这个陈述。

我在我的日程安排上跑完了这个任务。

2 个答案:

答案 0 :(得分:0)

我相信contains功能只能用于配置为使用/支持全文搜索的表格 - 我很少有经验的SQL Server老人功能。如果您没有使用全文搜索,我很确定contains将无效。

答案 1 :(得分:0)

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

  1. 创建全文目录
  2. 针对您希望能够使用全文关键字的表/列创建全文索引(您可以在同一目录中使用多个索引)
  3. 运行一个人口,它将抓取创建的索引&填充目录(这些是除了mdf / ldf之外SQL Server需要维护的单独文件)
  4. 有一个关于如何通过Pinal Dave on CodeProject在SQL Server 2008中使用SSMS来实现此目的的正确教程。 SQL Server 2014应该非常相似。 您还可以使用TSQL执行以下步骤:

    1. CREATE FULLTEXT CATALOG
    2. CREATE FULLTEXT INDEX
    3. ALTER FULLTEXT INDEX