sys.dm_fts_parser (Transact-SQL)sys.dm_fts_parser (Transact-SQL)

Gilt für: JaSQL Server NeinAzure SQL-Datenbank NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Gibt das endgültige Tokenisierungsergebnis zurück, nachdem eine bestimmte Kombination aus WörterTrennung, Thesaurusund Stopp Liste auf eine Eingabe der Abfrage Zeichenfolge angewendet wurde.Returns the final tokenization result after applying a given word breaker, thesaurus, and stoplist combination to a query string input. Das Tokenisierungsergebnis entspricht der Ausgabe der Volltext-Engine für die angegebene Abfragezeichenfolge.The tokenization result is equivalent to the output of the Full-Text Engine for the specified query string.

sys.dm_fts_parser ist eine dynamische Verwaltungsfunktion.sys.dm_fts_parser is a dynamic management function.

SyntaxSyntax

sys.dm_fts_parser('query_string', lcid, stoplist_id, accent_sensitivity)  

ArgumenteArguments

query_stringquery_string
Die zu analysierende Abfrage.The query that you want to parse. QUERY_STRING kann eine Zeichen folgen Kette sein, die Syntax Unterstützung enthält .query_string can be a string chain that CONTAINS syntax support. Sie können z. B. Flexionsformen, einen Thesaurus und logische Operatoren einschließen.For example, you can include inflectional forms, a thesaurus, and logical operators.

LCIDlcid
Gebiets Schema Bezeichner (Locale Identifier, LCID) der Wörter Trennung, der zum QUERY_STRING derverwendet werden soll.Locale identifier (LCID) of the word breaker to be used for parsing query_string.

stoplist_idstoplist_id
ID der Stopp Liste, sofern vorhanden, die von der durch LCIDidentifizierten Wörter Trennung verwendet werden soll.ID of the stoplist, if any, to be used by the word breaker identified by lcid. stoplist_id ist vom Datentyp int. Wenn Sie ' NULL ' angeben, wird keine Stopp Liste verwendet.stoplist_id is int. If you specify 'NULL', no stoplist is used. Wenn Sie 0 angeben, wird die Systemstoppliste STOPLIST verwendet.If you specify 0, the system STOPLIST is used.

Eine Stopplisten-ID ist innerhalb der Datenbank eindeutig.A stoplist ID is unique within a database. Verwenden Sie die sys. fulltext_indexes -Katalog Sicht, um die Stopp Listen-ID für einen Volltextindex für eine bestimmte Tabelle abzurufen.To obtain the stoplist ID for a full-text index on a given table use the sys.fulltext_indexes catalog view.

accent_sensitivityaccent_sensitivity
Boolescher Wert, mit dem gesteuert wird, ob diakritische Zeichen bei der Volltextsuche berücksichtigt werden.Boolean value that controls whether full-text search is sensitive or insensitive to diacritics. accent_sensitivity ist vom Bitund weist einen der folgenden Werte auf:accent_sensitivity is bit, with one of the following values:

valueValue Akzent ist...Accent sensitivity is...
00 Keine Beachtung von Groß-/KleinschreibungInsensitive

Wörter wie "Café" und "Café" werden identisch behandelt.Words such as "café" and "cafe" are treated identically.
11 SensibelSensitive

Wörter wie "Café" und "Café" werden anders behandelt.Words such as "café" and "cafe" are treated differently.

Hinweis

Um die Transact-SQLTransact-SQL aktuelle Einstellung dieses Werts für einen voll Text Katalog anzuzeigen, führen Sie die folgende Anweisung aus: SELECT fulltextcatalogproperty(' Catalog_Name', 'AccentSensitivity');.To view the current setting of this value for a full-text catalog, run the following Transact-SQLTransact-SQL statement: SELECT fulltextcatalogproperty('catalog_name', 'AccentSensitivity');.

Zurückgegebene TabelleTable Returned

|SpaltennameColumn name|DatentypData type|BESCHREIBUNGDescription|
|-----------------|---------------|-----------------|
|Schlüsselwort (keyword)keyword|varbinary (128)varbinary(128)|Die hexadezimale Darstellung eines gegebenen Schlüsselworts, das von einer Wörtertrennung zurückgegeben wurde.The hexadecimal representation of a given keyword returned by a word breaker. Diese Darstellung wird zum Speichern des Schlüsselworts im Volltextindex verwendet.This representation is used to store the keyword in the full-text index. Dieser Wert ist nicht Menschen lesbar, aber es ist hilfreich, ein bestimmtes Schlüsselwort mit der Ausgabe zu verknüpfen, die von anderen dynamischen Verwaltungs Sichten zurückgegeben wird, die den Inhalt eines voll Text Indexes zurückgeben, wie z . b. sys. dm_fts_index_keywords und sys. dm_fts_index_keywords_by_document.This value is not human-readable, but it is useful for relating a given keyword to output returned by other dynamic management views that return the content of a full-text index, such as sys.dm_fts_index_keywords and sys.dm_fts_index_keywords_by_document.

Hinweis: OxFF stellt das Sonderzeichen dar, das das Ende einer Datei oder eines Datasets angibt.Note: OxFF represents the special character that indicates the end of a file or dataset.|
|group_idgroup_id|intint|Enthält einen ganzzahligen Wert, mit dem die logische Gruppe unterschieden werden kann, aus der ein gegebener Begriff generiert wurde.Contain an integer value that is useful for differentiating the logical group from which a given term was generated. Beispiel: Mit 'Server AND DB OR FORMSOF(THESAURUS, DB)"' werden die folgenden group_id-Werte auf Englisch ausgegeben:For example, 'Server AND DB OR FORMSOF(THESAURUS, DB)"' produces the following group_id values in English:

1: Server1: Server
2: DB2: DB
3: DB3: DB|
|phrase_idphrase_id|intint|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.Contains an integer value that is useful for differentiating the cases in which alternative forms of compound words, such as full-text, are issued by the word breaker. Wenn zusammengesetzte Wörter vorhanden sind (z. B. 'multi-millon'), gibt die Wörtertrennung u. U. alternative Formen aus.Sometimes, with presence of compound words ('multi-million'), alternative forms are issued by the word breaker. Diese alternativen Formen (Ausdrücke) müssen in einigen Fällen unterschieden werden.These alternative forms (phrases) need to be differentiated sometimes.

Beispiel: Mit 'multi-million' werden die folgenden phrase_id-Werte auf Englisch ausgegeben:For example, 'multi-million' produces the following phrase_id values in English:

1 fürmulti1 for multi
1 fürmillion1 for million
2 fürmultimillion2 for multimillion|
|occurrenceoccurrence|intint|Gibt die Reihenfolge der einzelnen Begriffe im Analyseergebnis an.Indicates the order of each term in the parsing result. Beispiel: Für den Ausdruck "SQL Server query processor" enthält die Spalte occurrence die folgenden Vorkommenwerte auf Englisch:For example, for the phrase "SQL Server query processor" occurrence would contain the following occurrence values for the terms in the phrase, in English:

1 fürSQL1 for SQL
2 fürServer2 for Server
3 fürquery3 for query
4 fürprocessor4 for processor|
|special_termspecial_term|nvarchar(4000)nvarchar(4000)|Enthält Informationen über die Eigenschaften des Begriffs, der von der Wörtertrennung ausgegeben wird. Hierbei gibt es folgende Möglichkeiten:Contains information about the characteristics of the term that is being issued by the word breaker, one of:

Genaue ÜbereinstimmungExact match

Noise word (Füllwort)Noise word

End of Sentence (Ende des Satzes)End of Sentence

End of paragraph (Ende des Absatzes)End of paragraph

End of Chapter (Ende des Kapitels)End of Chapter|
|display_termdisplay_term|nvarchar(4000)nvarchar(4000)|Enthält die Klartextform des Schlüsselworts.Contains the human-readable form of the keyword. 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.As with the functions designed to access the content of the full-text index, this displayed term might not be identical to the original term due to the denormalization limitation. In der Regel ist er jedoch so genau, dass Sie ihn anhand der ursprünglichen Eingabe identifizieren können.However, it should be precise enough to help you identify it from the original input.|
|expansion_typeexpansion_type|intint|Enthält Informationen über die Beschaffenheit der Erweiterung eines gegebenen Begriffs. Hierbei gibt es folgende Möglichkeiten:Contains information about the nature of the expansion of a given term, one of:

0 = einzelnes Wort, Schreibweise0 =Single word case

2 = Flexionserweiterung2=Inflectional expansion

4 = Thesauruserweiterung/-ersetzung4=Thesaurus expansion/replacement

Nehmen Sie beispielsweise an, dass der Thesaurus "run" als Erweiterung von jog definiert:For example, consider a case in which the thesaurus defines run as an expansion of jog:

<expansion>

<sub>run</sub>

<sub>jog</sub>

</expansion>

Der Begriff FORMSOF (FREETEXT, run) generiert die folgende Ausgabe:The term FORMSOF (FREETEXT, run) generates the following output:

run\ (expansion_type=0)run with expansion_type=0

runs\ (expansion_type=2)runs with expansion_type=2

running\ (expansion_type=2)running with expansion_type=2

ran\ (expansion_type=2)ran with expansion_type=2

jog\ (expansion_type=4)jog with expansion_type=4|
|source_termsource_term|nvarchar(4000)nvarchar(4000)|Der Begriff bzw. der Ausdruck, auf dessen Basis ein gegebener Begriff generiert wurde.The term or phrase from which a given term was generated or parsed. Beispiel: Aus der Abfrage von '"word breakers" AND stemmers' ergeben sich die folgenden source_term-Werte auf Englisch:For example, a query on the '"word breakers" AND stemmers' produces the following source_term values in English:

word breakersfür den display_termwordword breakers for the display_termword
word breakersfür den display_termbreakersword breakers for the display_termbreakers
stemmersfür den display_termstemmersstemmers for the display_termstemmers|

BemerkungenRemarks

sys. dm_fts_parser unterstützt die Syntax und Features von voll Text Prädikaten, wie z. b. " enthält " und "frei Text", sowie Funktionen wie " CONTAINSTABLE " und " fretexfähige".sys.dm_fts_parser supports the syntax and features of full-text predicates, such as CONTAINS and FREETEXT, and functions, such as CONTAINSTABLE and FREETEXTTABLE.

Verwenden von Unicode zum Analysieren von SonderzeichenUsing Unicode for Parsing Special Characters

Wenn Sie eine Abfrage Zeichenfolge analysieren, verwendet sys. dm_fts_parser die Sortierung der Datenbank, mit der Sie verbunden sind, es sei denn, Sie geben die Abfrage Zeichenfolge als Unicode an.When you parse a query string, sys.dm_fts_parser uses the collation of the database to which you are connected, unless you specify the query string as Unicode. Daher kann die Ausgabe für eine nicht-Unicode-Zeichenfolge, die Sonderzeichen enthält, wie z. b. "ü" oder "ç", abhängig von der Sortierung der Datenbank unerwartet ausfallen.Therefore, for a non-Unicode string that contains special characters, such as ü or ç, the output might be unexpected, depending on the collation of the database. Um eine Abfrage Zeichenfolge unabhängig von der Daten Bank Sortierung zu verarbeiten, stellen NSie die Zeichenfolge N'mit dem Präfix QUERY_STRING'.To process a query string independently of the database collation, prefix the string with N, that is, N'query_string'.

Weitere Informationen finden Sie unter "C.For more information, see "C. Anzeigen der Ausgabe einer Zeichenfolge mit Sonderzeichen" später in diesem Thema.Displaying the Output of a String that Contains Special Characters," later in this topic.

Verwendung von 'sys.dm_fts_parser'When to Use sys.dm_fts_parser

sys. dm_fts_parser kann für Debuggingzwecke sehr leistungsstark sein.sys.dm_fts_parser can be very powerful for debugging purposes. Die wichtigsten Verwendungsszenarios sind:Some major usage scenarios include:

  • Verdeutlichung der Funktionsweise der Wörtertrennung bei einer gegebenen EingabeTo understand how a given word breaker treats a given input

    Wenn bei einer Abfrage unerwartete Ergebnisse zurückgegeben werden, kann dies an der Analyse und Trennung der Daten durch die Wörtertrennung liegen.When a query returns unexpected results, a likely cause is the way that the word breaker is parsing and breaking the data. Mit sys.dm_fts_parser können Sie das Ergebnis ermitteln, das eine Wörtertrennung an den Volltextindex übergibt.By using sys.dm_fts_parser, you discover the result that a word breaker passes to the full-text index. Außerdem können Sie sehen, bei welchen Begriffen es sich um Stoppwörter handelt, die im Volltextindex nicht gesucht werden.In addition, you can see which terms are stopwords, which are not searched in the full-text index. Ob ein Begriff ein Stoppwort für eine bestimmte Sprache ist, hängt davon ab, ob es sich in der durch den stoplist_id Wert angegebenen Stopp Liste befindet, die in der Funktion deklariert ist.Whether a term is a stopword for a given language depends on whether it is in the stoplist specified by the stoplist_id value that is declared in the function.

    Beachten Sie auch die Einstellung für die Unterscheidung nach Akzent, die dem Benutzer ermöglicht, unter Berücksichtigung dieser Einstellung zu ermitteln, wie die Wörtertrennung die Eingabe analysiert.Note as well the accent sensitivity flag, which will allow the user to see how the word breaker will parse the input having in mind its accent sensitivity information.

  • Verdeutlichung der Funktionsweise der Wortstammerkennung bei einer gegebenen EingabeTo understand how the stemmer works on a given input

    Sie können ermitteln, wie ein Abfrageausdruck und seine Stammformen von der Wörtertrennung und der Wortstammerkennung analysiert werden, indem Sie eine CONTAINS- oder eine CONTAINSTABLE-Abfrage mit der folgenden FORMSOF-Klausel angeben:You can find out how the word breaker and the stemmer parse a query term and its stemming forms, by specifying a CONTAINS or CONTAINSTABLE query containing the following FORMSOF clause:

    FORMSOF( INFLECTIONAL, query_term )  
    

    Anhand der Ergebnisse können Sie sehen, welche Begriffe an den Volltextindex übergeben werden.The results tell you what terms are being passed to the full-text index.

  • Verdeutlichung der Erweiterung bzw. Ersetzung der gesamten oder eines Teils der Eingabe durch den ThesaurusTo understand how the thesaurus expands or replaces all or part of the input

    Sie können auch Folgendes angeben:You can also specify:

    FORMSOF( THESAURUS, query_term )  
    

    Die Ergebnisse dieser Abfrage veranschaulichen die Interaktion der Wörtertrennung und des Thesaurus für den Abfrageausdruck.The results of this query show how the word breaker and thesaurus interact for the query term. 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.you can see the expansion or replacements from the thesaurus and identify the resulting query that is actually being issued against the full-text index.

    Der Benutzer kann auch Folgendes angeben:Note that if the user issues:

    FORMSOF( FREETEXT, query_term )  
    

    Die Flexions- und Thesaurusfunktionen werden automatisch ausgeführt.The inflectional and Thesaurus capabilities will take place automatically.

Des Weiteren ist sys.dm_fts_parser eine nützliche Hilfe, um viele andere Probleme bei Volltextabfragen zu verstehen und zu beheben.In addition to the preceding usage scenarios, sys.dm_fts_parser can help significantly to understand and troubleshoot many other issues with full-text query.

BerechtigungenPermissions

Erfordert die Mitgliedschaft in der festen Server Rolle sysadmin und die Zugriffsrechte auf die angegebene Stopp Liste.Requires membership in the sysadmin fixed server role and access rights to the specified stoplist.

BeispieleExamples

A.A. Anzeigen der Ausgabe einer angegebenen Wörtertrennung für ein Schlüsselwort oder einen AusdruckDisplaying the output of a given word breaker for a keyword or phrase

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 following example returns the output from using the English word breaker, whose LCID is 1033, and no stoplist on the following query string:

The Microsoft business analysis

Die Unterscheidung nach Akzent ist deaktiviert.Accent sensitivity is disabled.

SELECT * FROM sys.dm_fts_parser (' "The Microsoft business analysis" ', 1033, 0, 0);  

B.B. Anzeigen der Ausgabe einer angegebenen Wörtertrennung im Kontext der StopplistenfilterungDisplaying the output of a given word breaker in the context of stoplist filtering

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 following example returns the output from using the English word breaker, whose LCID is 1033, and an English stoplist, whose ID is 77, on the following query string:

"The Microsoft business analysis" OR "MS revenue"

Die Unterscheidung nach Akzent ist deaktiviert.Accent sensitivity is disabled.

SELECT * FROM sys.dm_fts_parser (' "The Microsoft business analysis"  OR " MS revenue" ', 1033, 77, 0);  

C.C. Anzeigen der Ausgabe einer Zeichenfolge mit SonderzeichenDisplaying the Output of a String that Contains Special Characters

Im folgenden Beispiel wird Unicode verwendet, um die folgende französische Zeichenfolge zu analysieren:The following example uses Unicode to parse the following French string:

français

Das Beispiel gibt die LCID für die französische Sprache, 1036, und die ID einer benutzerdefinierten Stoppliste, 5 an.The example specifies the LCID for the French language, 1036, and the ID of a user-defined stoplist, 5. Die Unterscheidung nach Akzent ist aktiviert.Accent sensitivity is enabled.

SELECT * FROM sys.dm_fts_parser(N'français', 1036, 5, 1);  

Weitere InformationenSee Also

Dynamische Verwaltungs Sichten und Funktionen für die voll Text Suche und die semantische Suche (Transact-SQL-) Full-Text Search and Semantic Search Dynamic Management Views and Functions (Transact-SQL)
Voll Text Suche Full-Text Search
Konfigurieren und Verwalten von Wörter Trennungen und Wort Stamm Erkennungen für die Suche Configure and Manage Word Breakers and Stemmers for Search
Konfigurieren und Verwalten von Thesaurusdateien für die voll Text Suche Configure and Manage Thesaurus Files for Full-Text Search
Konfigurieren und Verwalten von Stoppwörtern und Stopplisten für Volltextsuche Configure and Manage Stopwords and Stoplists for Full-Text Search
Abfragen mit voll Text Suche Query with Full-Text Search
Abfragen mit voll Text Suche Query with Full-Text Search
Sicherungsfähige ElementeSecurables