sql >> Base de Datos >  >> RDS >> Sqlserver

Problemas al crear un índice de texto completo en una vista

Primero debe crear un índice agrupado único en una vista, antes de crear un índice de texto completo.

Supongamos que tiene una mesa:

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

Y como ya lo hiciste, tienes una vista:

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

Ahora necesita crear un índice agrupado único en una vista:

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

Después de crear la clave única, dado que ya tiene un catálogo de texto completo ft_cat_Server puede crear un índice de texto completo:

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)

Espero que esto ayude :)