Konfigurieren und Verwalten von Filtern für die Suche
Gilt für:SQL ServerAzure SQL-Datenbank
Die Indizierung von Dokumenten in einer Spalte mit den Datentypen 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.
Filter und Dokumenttypen
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 wird, muss die Dateierweiterung (DOC, XLS, PDF usw.) in einer separaten Spalte der Tabelle gespeichert werden. Diese wird als Typspalte bezeichnet. Diese Typspalte kann von einem beliebigen zeichenbasierten Datentyp sein und enthält die Dokumentdateierweiterung, z. B. DOC für ein Microsoft Word-Dokument. In der Dokumenttabelle in Adventure Works ist die Dokumentspalte vom Typ varbinary(max) und die Typspalte "FileExtension" vom Typ "nvarchar(8)".
So zeigen Sie die Typspalte in einem vorhandenen Volltextindex an
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.
Installierte Filter
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, ebenfalls von SQL Server geladen. Verwenden Sie die sp_help_fulltext_system_components gespeicherte Prozedur wie folgt, um die Filter zu identifizieren, die derzeit in einer SQL Server-Instanz geladen werden:
EXEC sp_help_fulltext_system_components 'filter';
Hinweis
Selbst in der neuesten Version des Office Filter Pack, das XLSX-Support enthält, unterstützt SQL Server keine Strict Open XML-Tabellen. Es wird jedoch kein Fehler zurückgegeben. In SQL Server wird der Inhalt von Strict Open XML-Tabellen einfach nicht indiziert.
Nicht-Microsoft-Filter
Bevor Sie Filter für Nicht-Microsoft-Formate verwenden können, müssen Sie sie jedoch manuell in die Serverinstanz laden. Weitere Informationen zum Installieren zusätzlicher Filter finden Sie unter Anzeigen oder Ändern von registrierten Filtern und Wörtertrennungen.
Weitere Informationen
sys.fulltext_index_columns (Transact-SQL)
FILESTREAM-Kompatibilität mit anderen SQL Server-Funktionen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für