Volltextsuche einrichten

Navigation:  Installation > Server > Virtuelles Dateisystem >

Volltextsuche einrichten

Previous pageReturn to chapter overviewNext page

Einführung

 

Die Volltextsuche wird direkt auf dem SQL Server durchgeführt. Alle hier beschriebenen Aktionen werden im SQL Server Management Studio durchgeführt.

 

Prüfen der unterstützten Dateiformate
 

SELECT * FROM sys.fulltext_document_types

 

 

Filter nachinstallieren

 

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.

 

 

Volltextsuche aktivieren

 

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