Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
SQL-Datenbank in Microsoft Fabric
Gibt das endgültige Tokenisierungsergebnis zurück, nachdem ein bestimmter Worttrennungs-, Thesaurus- und Stopplistenkombination auf eine Abfragezeichenfolgeneingabe angewendet wurde. Das Tokenisierungsergebnis entspricht der Ausgabe der Volltext-Engine für die angegebene Abfragezeichenfolge.
sys.dm_fts_parser ist eine dynamische Verwaltungsfunktion.
Syntax
sys.dm_fts_parser (
'query_string'
, lcid
, stoplist_id
, accent_sensitivity
)
Argumente
query_string
Die zu analysierende Abfrage. query_string kann eine Zeichenfolgenkette sein, die die Syntax unterstützt. Sie können z. B. Flexionsformen, einen Thesaurus und logische Operatoren einschließen.
lcid
Gebietsschema-ID (LCID) des Worttrennzeichens , der für die Analyse query_string verwendet werden soll.
stoplist_id
ID der Stoppliste( falls vorhanden), die von der durch lcid identifizierten Worttrennung verwendet werden soll.
stoplist_id ist int. Wenn Sie 'NULL' angeben, wird keine Stoppliste verwendet. Wenn du 0 angibst, wird das System STOPLIST verwendet.
Eine Stopplisten-ID ist innerhalb der Datenbank eindeutig. Um die Stopplisten-ID für einen Volltextindex für eine bestimmte Tabelle abzurufen, verwenden Sie die sys.fulltext_indexes Katalogansicht.
accent_sensitivity
Boolescher Wert, mit dem gesteuert wird, ob diakritische Zeichen bei der Volltextsuche berücksichtigt werden. accent_sensitivity ist Bit mit einem der folgenden Werte:
| Wert | Akzentempfindlichkeit ist... |
|---|---|
| 0 | Keine Beachtung von Groß-/Kleinschreibung Wörter wie "Café" und "Café" werden identisch behandelt. |
| 1 | Vertraulich Wörter wie "Café" und "Café" werden anders behandelt. |
Note
Führen Sie die folgende Transact-SQL-Anweisung aus, um die aktuelle Einstellung dieses Werts für einen Volltextkatalog anzuzeigen: SELECT fulltextcatalogproperty('<catalog_name>', 'AccentSensitivity');
Zurückgegebene Tabelle
| Spaltenname | Datentyp | Description |
|---|---|---|
keyword
1 |
varbinary(128) | Die hexadezimale Darstellung eines gegebenen Schlüsselworts, das von einer Wörtertrennung zurückgegeben wurde. Diese Darstellung wird zum Speichern des Schlüsselworts im Volltextindex verwendet. Dieser Wert ist nicht menschenlesbar, aber nützlich, um ein bestimmtes Schlüsselwort mit den Ausgaben anderer dynamischer Managementansichten zu verknüpfen, die den Inhalt eines Volltextindexes zurückgeben, wie sys.dm_fts_index_keywords und sys.dm_fts_index_keywords_by_document. |
group_id |
int | Enthält einen ganzzahligen Wert, mit dem die logische Gruppe unterschieden werden kann, aus der ein gegebener Begriff generiert wurde. Zum Beispiel ergibt im Englischen Server AND DB OR FORMSOF(THESAURUS, DB) folgende group_id Werte:1: Server2: DB3: DB |
phrase_id |
int | Enthält einen ganzzahligen Wert, der zur Unterscheidung der Fälle dient, in denen alternative Formen für zusammengesetzte Wörter (z. B. "full-text") von der Wörtertrennung ausgegeben werden. Wenn zusammengesetzte Wörter vorhanden sind (z. B. 'multi-millon'), gibt die Wörtertrennung u. U. alternative Formen aus. Diese alternativen Formen (Ausdrücke) müssen in einigen Fällen unterschieden werden. Zum Beispiel ergibt im Englischen multi-million folgende phrase_id Werte:1 für multi1 für million2 für multimillion |
occurrence |
int | Gibt die Reihenfolge der einzelnen Begriffe im Analyseergebnis an. Zum Beispiel würde für die Phrase SQL Server query processor Occurrence folgende Vorkommenswerte für die Begriffe in der Phrase enthalten, im Englischen:1 für SQL2 für Server3 für query4 für processor |
special_term |
nvarchar(4000) | Enthält Informationen über die Eigenschaften des Begriffs, der von der Wörtertrennung ausgegeben wird. Hierbei gibt es folgende Möglichkeiten: - Genaue Übereinstimmung - Rauschwort - Satzende - Absatzende - Ende des Kapitels |
display_term |
nvarchar(4000) | Enthält die Klartextform des Schlüsselworts. Wie bei den Funktionen für den Zugriff auf den Inhalt des Volltextindexes stimmt der angezeigte Begriff aufgrund der Denormalisierungsgrenze u. U. nicht mit dem ursprünglichen Begriff überein. In der Regel ist er jedoch so genau, dass Sie ihn anhand der ursprünglichen Eingabe identifizieren können. |
expansion_type |
int | Enthält Informationen über die Beschaffenheit der Erweiterung eines gegebenen Begriffs. Hierbei gibt es folgende Möglichkeiten: 0 = Groß-/Kleinschreibung mit einem Wort 2 = Inflectionalerweiterung 4 = Thesauruserweiterung/Ersatz Nehmen Sie beispielsweise an, dass der Thesaurus "run" als Erweiterung von jog definiert:<expansion><sub>run</sub><sub>jog</sub></expansion>Der Begriff FORMSOF (FREETEXT, run) generiert die folgende Ausgabe:run mit expansion_type = 0runs mit expansion_type = 2running mit expansion_type = 2ran mit expansion_type = 2jog mit expansion_type = 4 |
source_term |
nvarchar(4000) | Der Begriff bzw. der Ausdruck, auf dessen Basis ein gegebener Begriff generiert wurde. Beispielsweise erzeugt eine Abfrage für die '"word breakers" AND stemmers' folgenden source_term Werte in Englisch:word breakers für die display_termwordword breakers für die display_termbreakersstemmers für die display_termstemmers |
10xFF steht für das Spezialzeichen, das das Ende einer Datei oder eines Datensatzes anzeigt.
Bemerkungen
sys.dm_fts_parser unterstützt die Syntax und Features von Volltext-Prädikaten wie CONTAINS und FREETEXT sowie Funktionen wie CONTAINSTABLE und FREETEXTTABLE.
Verwenden von Unicode zum Analysieren von Sonderzeichen
Wenn du eine Abfrage-String parst, sys.dm_fts_parser nutzt du die Sortierung der Datenbank, mit der du verbunden bist, es sei denn, du gibst die Abfrage-String als Unicode an. Daher kann die Ausgabe für eine Nicht-Unicode-Zeichenfolge, die Sonderzeichen wie z. B. ü oder ç enthält, je nach Sortierung der Datenbank unerwartet sein. Um eine Abfragezeichenkette unabhängig von der Datenbank-Kolluation zu verarbeiten, präfixieren Sie die Zeichenkette mit N, das heißt, N'<query_string>'.
Weitere Informationen finden Sie unter C. Anzeigen der Ausgabe einer Zeichenfolge, die Sonderzeichen weiter unten in diesem Artikel enthält.
Wann sys.dm_fts_parser verwendet werden soll
sys.dm_fts_parser kann für Debuggingzwecke leistungsfähig sein. Die wichtigsten Verwendungsszenarios sind:
Verdeutlichung der Funktionsweise der Wörtertrennung bei einer gegebenen Eingabe
Wenn bei einer Abfrage unerwartete Ergebnisse zurückgegeben werden, kann dies an der Analyse und Trennung der Daten durch die Wörtertrennung liegen. Mithilfe von
sys.dm_fts_parserermitteln Sie das Ergebnis, das ein Worttrennzeichen an den Volltextindex übergibt. Darüber hinaus können Sie sehen, welche Begriffe Stoppwörter sind, die nicht im Volltextindex durchsucht werden. Ob ein Begriff ein Stoppwort für eine bestimmte Sprache ist, hängt davon ab, ob er in der Stopliste steht, die durch den stoplist_id Wert angegeben ist, der in der Funktion deklariert wird.Mit der Akzentempfindlichkeitskennzeichnung können Sie sehen, wie der Worttrennung die Eingabe analysiert, wobei die Vertraulichkeitsinformationen für Akzente beachtet werden.
Verdeutlichung der Funktionsweise der Wortstammerkennung bei einer gegebenen Eingabe
Sie können herausfinden, wie der Wortbrecher und der Stemmer einen Abfrageterm und seine Stammformen parsen, indem Sie eine
CONTAINSoderCONTAINSTABLEeine Abfrage mit folgenderFORMSOFKlausel angeben:FORMSOF ( INFLECTIONAL, <query_term> )Anhand der Ergebnisse können Sie sehen, welche Begriffe an den Volltextindex übergeben werden.
Verdeutlichung der Erweiterung bzw. Ersetzung der gesamten oder eines Teils der Eingabe durch den Thesaurus
Du kannst auch Folgendes angeben:
FORMSOF ( THESAURUS, <query_term> )Die Ergebnisse dieser Abfrage veranschaulichen die Interaktion der Wörtertrennung und des Thesaurus für den Abfrageausdruck. Sie können den Ausdruck oder die Ersetzungen im Thesaurus anzeigen und die resultierende Abfrage identifizieren, die tatsächlich für den Volltextindex verwendet wird.
Wenn der Benutzer Probleme hat:
FORMSOF ( FREETEXT, <query_term> )Die Funktionen "Inflectional" und "Thesaurus" erfolgen automatisch.
Zusätzlich zu den vorherigen Verwendungsszenarien kann es hilfreich sein, sys.dm_fts_parser viele andere Probleme mit Volltextabfragen zu verstehen und zu beheben.
Erlaubnisse
Erfordert CREATE FULLTEXT CATALOG Erlaubnis und Zugriffsrechte auf die angegebene Stoppliste.
Examples
A. Anzeigen der Ausgabe eines bestimmten Worttrennungs für ein Schlüsselwort oder einen Ausdruck
Für die Ausgabe des folgenden Beispiels wurden die Wörtertrennung für Englisch mit der LCID 1033 und keine Stoppliste auf die folgende Abfragezeichenfolge angewendet:
The Microsoft business analysis
Die Unterscheidung nach Akzent ist deaktiviert.
SELECT *
FROM sys.dm_fts_parser(' "The Microsoft business analysis" ', 1033, 0, 0);
B. Anzeigen der Ausgabe eines bestimmten Worttrennungs im Kontext der Stopplistenfilterung
Für die Ausgabe des folgenden Beispiels wurden die Wörtertrennung für Englisch mit der LCID 1033 und eine Stoppliste für Englisch mit der ID 77 auf die folgende Abfragezeichenfolge angewendet:
"The Microsoft business analysis" OR "MS revenue"
Die Unterscheidung nach Akzent ist deaktiviert.
SELECT *
FROM sys.dm_fts_parser(' "The Microsoft business analysis" OR " MS revenue" ', 1033, 77, 0);
C. Anzeigen der Ausgabe einer Zeichenfolge, die Sonderzeichen enthält
Im folgenden Beispiel wird Unicode verwendet, um die folgende französische Zeichenfolge zu analysieren:
français
Das Beispiel gibt die LCID für die französische Sprache, 1036, und die ID einer benutzerdefinierten Stoppliste, 5 an. Die Unterscheidung nach Akzent ist aktiviert.
SELECT *
FROM sys.dm_fts_parser(N'français', 1036, 5, 1);
Verwandte Inhalte
- Volltext- und semantische Suchfunktionen und -verwaltungsübersichten
- Volltextsuche
- Sicherungsfähige Elemente
- Word Breaker und Stemmer konfigurieren und verwalten
- Konfigurieren und Verwalten von Thesaurusdateien für die Volltextsuche
- Konfigurieren und Verwalten von Stoppwörtern und Stopplisten für Volltextsuche
- Abfragen mit Volltextsuche