Freigeben über


Konfigurieren und Verwalten von Filtern für die Suche

Die Indizierung von Dokumenten in einer Spalte mit dem Datentyp varbinary, varbinary(max), image oder xml erfordert zusätzliche Verarbeitungsschritte. Diese Verarbeitung muss von einem Filter durchgeführt werden. Der Filter extrahiert die Textinformationen aus dem Dokument (hierbei wird die Formatierung entfernt). Der Filter überträgt den Text anschließend an die Komponente für die Wörtertrennung für die Sprache, die der Tabellenspalte zugeordnet ist.

Ein bestimmter Filter ist immer spezifisch für einen bestimmten Dokumenttyp (DOC, PDF, XLS, XML usw.). Diese Filter implementieren die IFilter-Schnittstelle. Weitere Informationen zu diesen Dokumenttypen erhalten Sie, indem Sie die sys.fulltext_document_types -Katalogsicht abfragen.

Binäre Dokumente können in einer einzelnen varbinary(max)- oder image-Spalte gespeichert werden. Für jedes Dokument wählt SQL Server basierend auf der Dateierweiterung den richtigen Filter aus. Da die Dateierweiterung nicht sichtbar ist, wenn die Datei in einer varbinary(max) - oder image -Spalte gespeichert ist, muss die Dateierweiterung (.doc, .xls, .pdf usw.) in einer separaten Spalte in der Tabelle gespeichert werden, die als Typspalte bezeichnet wird. Diese Typspalte kann einen beliebigen zeichenbasierten Datentyp aufweisen und die Dokumentdateierweiterung enthalten, z. B. .doc für ein Microsoft Word-Dokument. In der Tabelle Document in Adventure Works ist die Spalte Document vom Typ varbinary(max), und die Typspalte FileExtension hat den Typ nvarchar(8).

Hinweis

Ein Filter kann ggf. eingebettete Objekte im übergeordneten Objekt behandeln. Dies ist abhängig von der Implementierung des Filters. SQL Server konfiguriert jedoch keine Filter, um Links zu anderen Objekten zu folgen.

SQL Server installiert eigene XML- und HTML-Filter. Darüber hinaus werden alle Filter für proprietäre Microsoft-Formate (.doc, .xdoc, .ppt usw.), die bereits auf dem Betriebssystem installiert sind, von SQL Server geladen. Verwenden Sie die gespeicherte Prozedur sp_help_fulltext_system_components wie folgt, um die Filter zu identifizieren, die derzeit für eine instance SQL Server geladen werden:

EXEC sp_help_fulltext_system_components 'filter';   

Bevor Sie Jedoch Filter für Nicht-Microsoft-Formate verwenden können, müssen Sie sie manuell in den Server laden instance. Weitere Informationen zum Installieren zusätzlicher Filter finden Sie unter Anzeigen oder Ändern von registrierten Filtern und Wörtertrennungen.

So zeigen Sie die Typspalte in einem vorhandenen Volltextindex an

Weitere Informationen

sys.fulltext_index_columns (Transact-SQL)
FILESTREAM-Kompatibilität mit anderen SQL Server-Funktionen