Die Volltextsuche wird direkt auf dem SQL Server durchgeführt. Alle hier beschriebenen Aktionen werden im SQL Server Management Studio durchgeführt.
SELECT * FROM sys.fulltext_document_types
Es können beliebige Dokumente im Volltext aufgenommen werden, solange es hierfür einen Filter gibt, der Microsoft iFilter für Volltextsuche unterstützt.
Die Filter können im Betriebssystem nachinstalliert werden und stehen danach automatisch in SQL Server zur Verfügung.
PDF Unterstützung
http://helpx.adobe.com/acrobat/kb/acrobat-x-ifilter.html
Microsoft Office 2010 Filter Packs (Unter Windows Server 2012 / Windows 8 bereits enthalten)
http://www.Microsoft.com/downloads/en/Details.aspx?FamilyID = 5cd4dcd7-d3e6-4970-875P-aba93459fbee
Falls die Filter nach der Installation nicht aufgelistet werden, muss der SQL Server Dienst neu gestartet werden.
In den Grundeinstellungen ist die Volltextsuche für Dokumente nicht aktiv.
Folgender Skript aktiviert die Volltextsuche für Dokumente.
Eventuell muss PK__ft_Dokum__3214EC27216E511F durch den Name des Primären Index 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')
BEGIN
EXEC sp_fulltext_catalog 'KATALOG_Dokumente', 'create';
END
CREATE FULLTEXT INDEX ON dbo.ft_Dokumente
(FileName, FileData TYPE COLUMN FileExtension)
KEY INDEX PK__ft_Dokum__3214EC27216E511F
ON KATALOG_Dokumente
WITH CHANGE_TRACKING AUTO, STOPLIST OFF
ALTER FULLTEXT INDEX ON [dbo].[ft_Dokumente] ENABLE
ALTER 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'))
BEGIN
execute dbo.sp_executesql @statement = N'
CREATE function [dbo].[FTS_ft_Dokumente]
(@search nvarchar(4000))
returns table
as
return (select [KEY],[RANK] from containstable([ft_Dokumente],*,@search))
'
END