Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Problemi durante la creazione di un indice di testo completo in una vista

Per prima cosa devi creare un indice cluster univoco su una vista, prima di creare un indice fulltext.

Supponiamo di avere una tabella:

CREATE TABLE [dbo].[tblData](
    [DataField1] [Varchar] NOT NULL,
    [DataField2] [varchar](10) NULL,
    [DataField3] [varchar](10) NULL
    )

E come hai già fatto, hai una vista:

CREATE VIEW [dbo].[vwData] 
WITH SCHEMABINDING
AS
    SELECT  [DataField1] ,
            [DataField2] ,
            [DataField3]
    FROM    dbo.tblData
GO

Ora devi creare un indice cluster univoco su una vista :

CREATE UNIQUE CLUSTERED INDEX idx_DataField
    ON [dbo].[vwData] (DataField1);
GO

Dopo aver creato la chiave univoca poiché disponi già del catalogo fulltext ft_cat_Server puoi creare un indice fulltext:

CREATE FULLTEXT INDEX ON [dbo].[vwData](
[DataField1] LANGUAGE [English])
KEY INDEX [idx_DataField]ON ([ft_cat_Server], FILEGROUP [PRIMARY])
WITH (CHANGE_TRACKING = AUTO, STOPLIST = SYSTEM)

Spero che questo aiuti :)