Udostępnij za pośrednictwem


sys.dm_fts_parser (języka Transact-SQL)

Zwraca wynik końcowy tokenizacja danej Dzielenie wyrazów, Słownik wyrazów bliskoznacznych, and stoplist kombinację wprowadzania ciąg kwerendy.Wynik tokenizacja jest równoznaczne z danych wyjściowych aparat pełny tekst w ciąg kwerendy.

sys.dm_fts_parser jest funkcją dynamicznego zarządzania.

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

Argumenty

  • query_string
    The query that you want to parse.query_string can be a string chain that CONTAINS syntax support.Na przykład można dołączyć inflectional formularzy, tezaurus i operatorów logicznych.

  • lcid
    Identyfikator regionalny (LCID) dzielącego ma być używany w celu analizowania query_string.

  • stoplist_id
    ID of the stoplist, if any, to be used by the word breaker identified by lcid.stoplist_id is int.Jeśli określisz wartości ' NULL' stoplist nie jest używany.Po określeniu wartości 0, używany jest system STOPLIST.

    Identyfikator stoplist jest unikatowa w bazie danych.Aby uzyskać identyfikator stoplist do indeksu całego tekstu przy użyciu danej tabela sys.fulltext_indexes Służy do wyświetlania katalogu.

  • accent_sensitivity
    Boolean value that controls whether full-text search is sensitive or insensitive to diacritics.accent_sensitivity is bit, with one of the following values:

    Wartość

    Wynosi… czułość akcentu

    0

    Niewrażliwe

    Wyrazy, takie jak "café" i "cafe" są traktowane identycznie.

    1

    Wielkość liter

    Wyrazy, takie jak "café" i "cafe" są traktowane odmiennie.

    Uwaga

    Aby wyświetlić bieżące ustawienie tej wartości dla wykazu pełnego tekstu, należy uruchomić następujące Transact-SQL instrukcja: SELECT fulltextcatalogproperty('catalog_name', 'AccentSensitivity');.

Zwracana tabela

Nazwa kolumna

Typ danych

Description

słowo kluczowe

varbinary(128)

Reprezentacja szesnastkową danego słowa kluczowego, zwracane przez dzielenie wyrazów.Reprezentacja ta jest używany do przechowywania słowo kluczowe w indeksie pełnego tekstu.Ta wartość nie jest czytelny dla człowieka, ale jest on przydatny w przypadku dotyczące danego słowa kluczowego do wyjścia zwracane przez inne widoki dynamicznego zarządzania, które zwraca zawartość indeksu całego tekstu, takich jak sys.dm_fts_index_keywords and sys.dm_fts_index_keywords_by_document.

NoteNote:
OxFF reprezentuje znak specjalny, który wskazuje koniec pliku lub zestawu danych.

group_id

int

Zawiera wartość całkowitą, która jest przydatne w przypadku rozróżnianie logicznej grupy, z którego została wygenerowana na dany okres.Na przykład "Server AND DB OR FORMSOF(THESAURUS, DB)""daje następujące wartości group_id w języku angielskim:

group_id display_term
1Serwer
2DB
3DB

phrase_id

int

Zawiera wartość całkowitą, która jest przydatne w przypadku rozróżnianie przypadki, w którym alternatywnych formularzy wyrazy złożone, takie jak pełnego tekstu są wydawane przez dzielącego.Czasami z obecność wyrazy złożone ("multi-million"), alternatywne formularze są wydawane przez dzielącego.Formach alternatywnych (wyrażenia) muszą być rozróżniane czasem.

Na przykład "multi-million"daje następujące wartości phrase_id w języku angielskim:

phrase_id display_term
1 multi
1 million
2 multimillion

wystąpienie

int

Określa kolejność każdego terminu w wyniku analizy.Na przykład dla frazy „SQL Server query processor„ wystąpienia zawiera następujące wartości wystąpienia terminów frazy w języku angielskim:

wystąpienie display_term
1 SQL
2 Server
3 query
4 processor

special_term

nvarchar(8000)

Zawiera informacje dotyczące właściwości termin, który jest wystawiane przez dzielącego, jeden z:

Dokładne dopasowanie

wyraz ignorowany

Koniec zdania

Koniec akapitu

Koniec rozdziału

display_term

nvarchar(8000)

Zawiera czytelny dla człowieka formularza słowa kluczowego.Jak z funkcjami, przeznaczony na dostęp do zawartości indeks pełnotekstowy wyświetlany termin ten może nie być taka sama, jak oryginalny termin ze względu na ograniczenia denormalization.Jednak powinna być dostatecznie precyzyjne, aby ułatwić identyfikację go z oryginalnym wejścia.

expansion_type

int

Zawiera informacje na temat charakteru rozszerzenia danego okresu, jedną z:

0 = przypadek pojedynczego wyrazu

2 = Inflectional rozszerzenia

4 = Tezaurusa rozszerzenia/wymiana

Na przykład należy wziąć pod uwagę przypadek określa tezaurusa, w którym uruchamiane jako rozszerzenia jog:

<expansion>

<sub>run</sub>

<sub>jog</sub>

</expansion>

Termin FORMSOF (FREETEXT, run) generuje następujący wynik:

run expansion_type = 0

runs expansion_type = 2

running expansion_type = 2

ran expansion_type = 2

jog expansion_type = 4

source_term

nvarchar(8000)

Terminu lub frazy, z którego danego termin został wygenerowany lub przeanalizować.Na przykład kwerendy na ""word breakers" AND stemmers' daje następujące wartości source_term w języku angielskim:

source_term display_term
wyłączników wyrazuwyraz
wyłączników wyrazuwyłączników
stemmersstemmers

Remarks

sys.dm_fts_parser obsługuje składnię i funkcje predykaty pełnego tekstu, takich jak ZAWIERA and FREETEXTi funkcje, takie jak CONTAINSTABLE and FREETEXTTABLE.

Znaki specjalne — przy użyciu standardu Unicode

Podczas analizowania ciąg kwerendy sys.dm_fts_parser uses the Sortowanie bazy danych, z którym masz połączenie, o ile nie została określona jako ciąg kwerendyUnicode.Dlatego dla ciąg nie obsługujących kodu Unicode, który zawiera znaki specjalne, takie jak znaki typu ü lub ç, dane wyjściowe mogą być nieoczekiwane, w zależności od sortowanie bazy danych.Aby przetwarzać ciągu kwerendy, niezależnie od sortowanie bazy danych, prefiks ciąg składający się z N, oznacza to, N'QUERY_STRING'.

Aby uzyskać więcej informacji zobacz „ C.Wyświetlanie danych wyjściowych ciąg ten zawiera znaki specjalne,"w dalszej części tego tematu.

Kiedy sys.dm_fts_parser Użyj

sys.dm_fts_parser może być bardzo zaawansowanym do debugowania.Niektóre scenariusze użycia główne obejmują:

  • Aby zrozumieć, jak dany dzielącego traktuje dany dane wejściowe

    Gdy kwerenda zwraca nieoczekiwane wyniki, prawdopodobną przyczyną jest sposób, w jaki dzielącego jest podczas analizowania i dzielenia danych.Za pomocą sys.dm_fts_parser, można wykryć w wyniku czego dzielenie wyrazów przekazuje do indeksu całego tekstu.Ponadto można zobaczyć, które są stopwords, które nie są przeszukiwane w indeksie pełnego tekstu.Czy okres jest stopword dla danego języka zależy od tego, czy jest on w stoplist, określony przez stoplist_id wartość, która jest zadeklarowana w funkcja.

    Należy również zauważyć Flaga czułość akcentu, co pozwoli użytkownikowi oglądanie, w jaki sposób dzielącego analizować dane wejściowe o pod uwagę jego informacje o czułości akcentu.

  • Aby zrozumieć, w jaki sposób program szukający rdzeni działa na danym danych wejściowych

    Możesz dowiedzieć się, jak dzielącego i program szukający rdzeni przeanalizować termin kwerendy i jego stemming formularze, określając CONTAINS lub CONTAINSTABLE kwerendę zawierającą następująca klauzula FORMSOF:

    FORMSOF( INFLECTIONAL, query_term )
    

    Wyniki stwierdzić, jakie warunki są przesyłane do indeksu całego tekstu.

  • Aby zrozumieć, w jaki sposób tezaurusa powiększa się lub zastępuje całość lub część danych wejściowych

    Można również określić:

    FORMSOF( THESAURUS, query_term )
    

    The results of this query show how the word breaker and thesaurus interact for the query term.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.

    Należy zauważyć, że jeśli problemów użytkownika:

    FORMSOF( FREETEXT, query_term )
    

    The inflectional i możliwości słownik wyrazów bliskoznacznych będzie odbywać się automatycznie.

Oprócz poprzedniego scenariuszy użytkowania sys.dm_fts_parser pomagają znacznie do zrozumienia i rozwiązywanie problemów z wielu innych problemów z zapytanie pełnotekstowe.

Uprawnienia

Członkostwo w grupie wymaga sysadmin ustalony serwer prawa ról i dostępu do stoplist określony.

Przykłady

A.Wyświetlanie danych wyjściowych z danym dzielącego słowo kluczowe lub frazy

W poniższym przykładzie są zwracane dane wyjściowe przy użyciu języka angielskiego dzielącego, którego identyfikator LCID jest 1033, a nie stoplist na następującego ciąg kwerendy:

The Microsoft business analysis

Czułość akcentu jest wyłączona.

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

B.Wyświetlanie danych wyjściowych z danym dzielącego w kontekście stoplist filtrowania

W poniższym przykładzie zwraca dane wyjściowe z korzystania z języka angielskiego dzielącego, którego identyfikator LCID jest 1033, i angielskim stoplist, w których identyfikator jest 77, na następującego ciąg kwerendy:

"The Microsoft business analysis" OR "MS revenue"

Czułość akcentu jest wyłączona.

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

C.Wyświetlanie danych wyjściowych ciąg, który zawiera znaki specjalne

W poniższym przykładzie użyto Unicode przeanalizować francuskich następujący ciąg:

français

W przykładzie określono LCID dla języka francuskiego 1036, a identyfikator stoplist zdefiniowanej przez użytkownika, 5. Czułość akcentu jest włączona.

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