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

Abilita la ricerca full-text su View con Inner Join

Puoi creare un indice di testo completo solo su un vista indicizzata , ecco perché stai ricevendo l'errore. Per creare una ricerca full-text su una tabella o vista, deve avere un indice univoco, a colonna singola, non annullabile.

In altre parole, dovresti creare la tua vista in questo modo:

CREATE VIEW ViewSearch WITH SCHEMABINDING AS
SELECT Persons.P_Id AS ID, Persons.LastName, Persons.FirstName, Orders.OrderNo
    FROM Persons
    INNER JOIN Orders ON Persons.P_Id=Orders.P_Id
GO
CREATE UNIQUE CLUSTERED INDEX IX_ViewSearch ON ViewSearch (ID)

La ricerca full-text SQL crea un indice full-text attraverso un processo chiamato popolamento, che riempie l'indice con le parole e le posizioni in cui si trovano nelle tabelle e nelle righe. Ecco perché hai bisogno di un campo che ti identifichi in modo univoco ogni riga ed è per questo che devi rendere la vista indicizzata.

Ulteriori informazioni qui .