Filtern von Dokumenteninhalten - Volltextsuche

Hinweis: Die Volltextsuche ist eine optionale Komponente des Microsoft SQL Server-Datenbankmoduls und muss daher bei der Installation des SQL Servers als Option ausgewählt werden. Bevor Volltextabfragen für eine bestimmte Tabelle möglich sind, muss der Datenbankadministrator einen Volltextindex für die Tabelle erstellen. Beim Erstellen eines Filtern Volltextindex für Felder vom physikalischen Feldtyp „varbinary(max)“ müssen Sie eine Typspalte angeben. In der Typspalte wird die Dateierweiterung (z.B. DOCX, PDF, XLSX) für das Dokument in der betreffenden Zeile gespeichert. Weitere Informationen finden Sie auch unter dem unten aufgeführten Link.

Gehen Sie für die Einrichtung der Volltextsuche folgendermaßen vor:

  1. Voraussetzungen: In der Ablageansicht für Dokumente (z.B. dbo.Documents) existiert ein Feld „Document_FileType“. Dieses Feld ist in den „Dokumenteninfos“ mit dem Wert „Dateityp“ verknüpft. Für diese Tabelle wurde ein gruppierter Index „PK_Documents“ auf das Feld „ID“ erstellt. Weitere Informationen zu Indizes finden Sie auch im Kapitel „Datenbankstruktur“ des combit Relationship Manager/combit address manager Handbuchs.
  2. Um einen Volltextkatalog und Volltextindex zu erstellen führen Sie im SQL Server Management Studio folgenden SQL Befehl aus (der Name für den Katalog kann frei gewählt werden, für dieses Beispiel wurde „CatDocument“ gewählt). Bitte beachten Sie, dass Datenbankname, Tabellenname, Feldname der Typspalte und Indexbezeichnung an Ihre Konfiguration angepasst werden müssen.

USE [combit_Large]
GO
CREATE FULLTEXT CATALOG CatDocument AS DEFAULT;
GO
CREATE FULLTEXT INDEX ON dbo.Documents
(
Document
TYPE COLUMN Document_FileType
)
KEY INDEX PK_Documents ON CatDocument;
GO
Bei Feldern vom internen Feldtypen "Eingebettete Datei" kann über die Verknüpfung "enthält (Volltext)" bei einem allgemeinen Filter auch nach Inhalten von Dokumenten gefiltert werden.
  1. Der soeben erstellte Katalog befindet sich im SQL Server Management Studio unter "Speicher > Volltextkataloge" unterhalb der Datenbank.

Wichtig:
Damit Dokumente nach Inhalten durchsucht werden können, ist es zwingend erforderlich, dass die zu durchsuchenden Dokumententypen (z.B. DOCX, PDF, XLSX) im SQL Server registriert sind. Eine Auflistung aller im SQL Server registrierten Dateien können Sie über die folgende SQL-Abfrage anzeigen lassen:
[code] SELECT * FROM sys.fulltext_document_types; [/code]
Sind hier beispielsweise die Office 2007/2010 Dokumententypen (z.B. DOCX, XLSX) nicht gelistet, dann lassen sich diese nachträglich installieren. Dafür benötigen Sie ein sogenanntes Filter-Pack, welches von Microsoft zur Verfügung gestellt wird. Der Downloadlink ist unten aufgeführt. Nach der Installation müssen Sie nur noch sicherstellen, dass das Paket auf dem System des SQL Servers registriert wird. Dies können Sie über folgenden Befehl vornehmen. Bitte beachten Sie, dass der SQL Server Dienst anschließend neugestartet werden muss.
[code] sp_fulltext_service 'load_os_resources', 1 [/code]

Links:

http://msdn.microsoft.com/de-de/library/ms142571.aspx
http://www.microsoft.com/de-de/download/details.aspx?id=17062
IDKBAD001274 KBAD001274