具有多列的唯一聚簇索引的FullText索引

时间:2018-05-29 16:15:57

标签: sql sql-server azure-sql-database

有没有办法在多列聚簇索引上创建全文索引?

CREATE UNIQUE CLUSTERED INDEX idx_ContactsView
    ON ContactsView (ContactId,CeId,CpId);
GO

CREATE FULLTEXT INDEX ON dbo.ContactsView
 (Name,Email,PhoneNumber) KEY INDEX idx_ContactsView
 ON ContactsCatalog;  

 ALTER FULLTEXT INDEX ON ContactsView SET STOPLIST = OFF

FOR SQL-SERVER,AZURE SQL

1 个答案:

答案 0 :(得分:2)

如果您的索引不是唯一的,不是非可空的,而不是单列,则它不能用于全文索引。

如果您尝试使用复合聚簇索引/主键定义全文搜索键,则可能会从数据库引擎收到以下错误消息。

  

" PK_MESSAGES_A87A0A9A1EA32A6C不是强制执行的有效索引   全文搜索键。全文搜索键必须是唯一的,   未定义的非可空的单列索引(未脱机)   在非确定性或不精确的非持久计算列上,确实如此   没有过滤器,最大大小为900字节。选择其他   全文密钥的索引。"