无法对表或索引视图使用 CONTAINS 或 FREETEXT 谓词,因为它不是全文索引

2024-03-27

我在 SQL Server 2008 R2 数据库中收到以下错误:

不能使用CONTAINS or FREETEXT对表或索引视图“tblArmy”进行谓词,因为它没有全文索引。


  1. 确保您安装了全文搜索功能。
  1. 创建全文搜索目录(如果需要)

    首先检查是否有目录已经存在

      select *
      from sys.fulltext_catalogs
    

    如果没有找到目录,则创建一个

      use [DatabaseName]
      create fulltext catalog FullTextCatalog as default
    

    您可以验证目录是否以与上面相同的方式创建

  2. 创建全文搜索索引。

      create fulltext index on Production.ProductDescription(Description)
      key index PK_ProductDescription_ProductDescriptionID
    

    在创建索引之前,请确保:
    - 您还没有表上的全文搜索索引,因为表上只允许有一个全文搜索索引
    - 表上存在唯一索引。索引必须基于单键列,即不允许 NULL。
    - 全文目录存在。如果没有默认的全文目录,则必须显式指定全文目录名称。

您可以在 SQL Server Management Studio 中执行步骤 2 和 3。在对象资源管理器中,右键单击表,选择Full-Text index菜单项,然后Define Full-Text Index...子菜单项。全文索引向导将指导您完成整个过程。如果您还没有全文搜索目录,它还会为您创建一个全文搜索目录。

您可以在以下位置找到更多信息:MSDN http://msdn.microsoft.com/en-us/library/cc879299.aspx

执行完这些步骤后,您需要几分钟的时间来创建全文搜索索引(这取决于表和列数据的大小)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法对表或索引视图使用 CONTAINS 或 FREETEXT 谓词,因为它不是全文索引 的相关文章

随机推荐