Volltextsuche einrichten
Einführung
Section titled “Einführung”Die Volltextsuche wird direkt auf dem SQL Server eingerichtet. Die beschriebenen Schritte werden im SQL Server Management Studio ausgeführt.
Prüfen der unterstützten Dateiformate
Section titled “Prüfen der unterstützten Dateiformate”SELECT * FROM sys.fulltext_document_typesFilter nachinstallieren
Section titled “Filter nachinstallieren”Dokumente können in die Volltextsuche aufgenommen werden, wenn für das jeweilige Dateiformat ein passender iFilter verfügbar ist.
Fehlende Filter werden im Betriebssystem installiert und stehen danach auch SQL Server zur Verfügung.
PDF-Unterstützung
Section titled “PDF-Unterstützung”Microsoft Office 2010 Filter Packs
Section titled “Microsoft Office 2010 Filter Packs”Unter Windows Server 2012 und Windows 8 sind diese Filter in vielen Fällen bereits enthalten.
Falls neue Filter nach der Installation nicht in SQL Server auftauchen, starten Sie den SQL-Server-Dienst neu.
Volltextsuche aktivieren
Section titled “Volltextsuche aktivieren”In den Grundeinstellungen ist die Volltextsuche für Dokumente zunächst deaktiviert.
Das folgende SQL-Skript aktiviert die Volltextsuche für Dokumente.
Eventuell muss PK__ft_Dokum__3214EC27216E511F durch den tatsächlichen Namen des Primärschlüssels der Tabelle ft_Dokumente ersetzt werden.
EXEC sp_fulltext_database 'enable'
IF NOT EXISTS (SELECT TOP(1) * FROM sys.fulltext_catalogs WHERE name = 'KATALOG_Dokumente')BEGINEXEC sp_fulltext_catalog 'KATALOG_Dokumente', 'create';END
CREATE FULLTEXT INDEX ON dbo.ft_Dokumente(FileName, FileData TYPE COLUMN FileExtension)KEY INDEX PK__ft_Dokum__3214EC27216E511FON KATALOG_DokumenteWITH CHANGE_TRACKING AUTO, STOPLIST OFF
ALTER FULLTEXT INDEX ON [dbo].[ft_Dokumente] ENABLEALTER FULLTEXT INDEX ON [dbo].[ft_Dokumente] SET CHANGE_TRACKING = AUTO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[FTS_ft_Dokumente]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))BEGINexecute dbo.sp_executesql @statement = N'CREATE function [dbo].[FTS_ft_Dokumente](@search nvarchar(4000))returns tableasreturn (select [KEY],[RANK] from containstable([ft_Dokumente],*,@search))'END