Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Aktivieren Sie die Volltextsuche in View mit Inner Join

Sie können einen Volltextindex nur auf einem indizierte Ansicht , deshalb bekommst du den Fehler. Um eine Volltextsuche für eine Tabelle oder Ansicht zu erstellen, muss sie über einen eindeutigen, einspaltigen Index ohne Nullwerte verfügen.

Mit anderen Worten, Sie sollten Ihre Ansicht ungefähr so ​​erstellen:

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)

Die SQL-Volltextsuche erstellt einen Volltextindex durch einen Prozess namens Auffüllen, der den Index mit Wörtern und den Stellen füllt, an denen sie in Ihren Tabellen und Zeilen vorkommen. Aus diesem Grund benötigen Sie ein Feld, das jede Zeile eindeutig identifiziert, und aus diesem Grund müssen Sie die Ansicht indizieren.

Weitere Informationen hier .