Udostępnij za pośrednictwem


sys.dm_fts_parser (języka Transact-SQL)

Zwraca wynik końcowy tokenizacja po zastosowaniu danej dzielącego, tezaurusa, i stoplist kombinację kwerendy ciąg wejściowy.Wynik tokenizacja jest równoznaczne z danych wyjściowych aparat pełnego tekstu dla kwerendy określony ciąg.

sys.dm_fts_parserjest funkcja dynamicznego zarządzania.

Składnia

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

Argumenty

  • query_string
    Kwerenda, którą chcesz przeanalizować.query_stringciąg łańcucha, który może być ZAWIERA Obsługa składni.Na przykład można dołączyć inflectional formularze, tezaurus i operatorów logicznych.

  • lcid
    Identyfikator ustawień regionalnych (LCID) dzielącego do używanego do analizowania query_string.

  • stoplist_id
    Identyfikator stoplist, ewentualnie mają być używane przez dzielenie wyrazów zidentyfikowanych przez lcid.stoplist_idis int.Jeśli określisz 'NULL' stoplist nie jest używany.Jeśli zostanie określona wartość 0, używany jest system STOPLIST.

    Identyfikator stoplist jest unikatowa w bazie danych.Aby uzyskać identyfikator stoplist dla indeksu pełnotekstowego opartego na stosowanie danej tabela sys.fulltext_indexes katalogu widoku.

  • accent_sensitivity
    wartość logiczna wartość tej kontroli, czy przeszukiwanie pełnego tekstu jest wrażliwe niewrażliwe znaków diakrytycznych.accent_sensitivityjest bit, z jedną z następujących wartości:

    Wartość

    Akcent czułość jest...

    0

    Wielkość liter

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

    1

    Wielkość liter

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

    Ostrzeżenie

    Aby wyświetlić bieżące ustawienie tej wartości dla wykaz pełnotekstowy, uruchom następujące polecenie w Transact-SQL instrukcja: SELECT fulltextcatalogproperty('catalog_name', 'AccentSensitivity');.

Zwracana tabela

Nazwa kolumny

Typ danych

Opis

keyword

varbinary(128)

Reprezentacja szesnastkowy danego słowa kluczowego, zwrócony przez dzielenie wyrazów.Reprezentacja ta jest używany do przechowywania słowo kluczowe do indeksu pełnotekstowego.Wartość ta nie jest czytelny dla człowieka, ale jest on przydatny dla odnoszące się do danego słowa kluczowego do wyjścia zwracane przez inne widoki dynamiczne zarządzanie zwracających zawartość indeksu pełnotekstowego, takich jak sys.dm_fts_index_keywords i sys.dm_fts_index_keywords_by_document.

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

group_id

int

Zawierają wartość całkowitą, która jest przydatne w przypadku rozróżnianie grupy logiczne, z którego dany termin został wygenerowany.Na przykład "Server AND DB OR FORMSOF(THESAURUS, DB)"' generuje następujący group_id wartości 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órych alternatywnych form wyrazy złożone, takich jak pełnego tekstu są wydawane przez dzielenie wyrazów.Czasami z obecności wyrazy złożone ('multi-million'), alternatywnych form są wydawane przez dzielenie wyrazów.Formularze te alternatywne (zwroty) trzeba czasami zróżnicowane.

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

phrase_id display_term
1 multi
1 million
2 multimillion

occurrence

int

Określa kolejność każdego terminu w wyniku analizy.Na przykład dla frazy "SQL Server query processor"" occurrencezawiera następujące occurrence wartości warunki frazę w języku angielskim:

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

special_term

nvarchar(4000)

Zawiera informacje dotyczące charakterystyki termin, który jest wystawiane przez dzielenie wyrazów, jeden z:

Dokładne dopasowanie

Wyraz pomijalny

Koniec zdania

Koniec akapitu

Koniec rozdziału

display_term

nvarchar(4000)

Zawiera czytelnej formie słowo kluczowe.Jako funkcje zaprojektowane dostępu do zawartości indeksu pełnotekstowego wyświetlany termin ten może być taka sama, jak oryginalny termin ze względu na ograniczenia denormalization.Jednakże powinny być wystarczająco precyzyjne, aby pomóc w zidentyfikowaniu z oryginalnych danych wejściowych.

expansion_type

int

Zawiera informacje dotyczące rodzaju rozszerzenia danej kadencji, jeden z:

0 = Pojedynczy wyraz przypadek

2 = Inflectional rozszerzenia

4 = Tezaurusa rozszerzenia/wymiana

Na przykład należy rozważyć przypadek w którym tezaurusa definiuje Uruchom jako rozszerzenia jog:

<expansion>

<sub>run</sub>

<sub>jog</sub>

</expansion>

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

runwith expansion_type=0

runswith expansion_type=2

runningwith expansion_type=2

ranwith expansion_type=2

jogwith expansion_type=4

source_term

nvarchar(4000)

Termin lub frazę, z którego generowane lub w przeanalizować dany okres.Na przykład, kwerenda na ""word breakers" AND stemmers' daje następujące source_term wartości w języku angielskim:

source_term display_term
moduły dzielenia wyrazówProgram Word
moduły dzielenia wyrazówwyłączników
programy szukające rdzeniprogramy szukające rdzeni

Uwagi

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

Przy użyciu standardu Unicode w celu analizowania znaki specjalne

Podczas analizy kwerendy ciąg sys.dm_fts_parser korzysta z sortowanie bazy danych, z którym nawiązano, chyba że określono ciąg kwerendy jako Unicode.Dlatego dla standardu Unicode ciąg , który zawiera znaki specjalne, takie jak znaki ü lub ç, dane wyjściowe mogą być nieoczekiwane, w zależności od sortowanie bazy danych.Przetwarzanie ciąg kwerendy niezależnie od sortowaniebazy danych, prefiks ciąg z N, oznacza to, że N'query_string'.

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

Kiedy sys.dm_fts_parser użycia

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

  • Aby zrozumieć, jak dany dzielącego traktuje danego składnika

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

    Należy zwrócić uwagę również Flaga czułość akcentu, umożliwiające użytkownikowi zobaczyć, jak analizować dane wejściowe, mając na uwadze jego informacje o czułości akcentu w dzielenie wyrazów.

  • Aby zrozumieć sposób działania program szukający rdzeni na danym wprowadzania

    Można sprawdzić, jak dzielenie wyrazów i program szukający rdzeni przeanalizować termin kwerendy i jego stemming formularze, określając zawierające następujące FORMSOF klauzulakwerendy ZAWIERA lub CONTAINSTABLE:

    FORMSOF( INFLECTIONAL, query_term )
    

    wyniki stwierdzić, jakie warunki są przesyłane do indeksu pełnotekstowego.

  • Aby zrozumieć, jak Tezaurus rozwija lub zastępuje wszystkie lub część danych wejściowych

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

    FORMSOF( THESAURUS, query_term )
    

    wyniki kwerendy Pokaż interakcje dzielenie wyrazów i tezaurus dla kwerendy.można przejrzeć rozszerzania lub zamiany z tezaurusa i zidentyfikować wynikowy kwerendy, która jest faktycznie wydane przeciwko indeksu pełnotekstowego.

    Należy zauważyć, że jeśli problemy użytkowników:

    FORMSOF( FREETEXT, query_term )
    

    Inflectional i możliwości tezaurusa będzie odbywać się automatycznie.

Oprócz powyższych scenariuszy użycia sys.dm_fts_parser może pomóc w znacznie do zrozumienia i rozwiązanie wielu problemów z zapytanie pełnotekstowe.

Uprawnienia

Wymaga członkostwa w sysadmin stała rola serwera i jego prawa dostępu do określonego stoplist.

Przykłady

A.Wyświetlania danych wyjściowych danego dzielącego słowo kluczowe lub fraza

Poniższy przykład zwraca dane wyjściowe przy użyciu dzielenie wyrazów angielskich, którego LCID jest 1033, i nie stoplist na następującego ciągkwerendy:

The Microsoft business analysis

Akcent czułość jest wyłączona.

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

B.Wyświetlanie danych wyjściowych danego dzielącego w kontekście filtrowanie stoplist

Poniższy przykład zwraca dane wyjściowe z korzystania z angielskim dzielącego, którego identyfikator LCID jest 1033, i angielskim stoplist, których identyfikator jest 77, na następującego ciągkwerendy:

"The Microsoft business analysis" OR "MS revenue"

Akcent czułość 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 do analizy francuskich następujący ciąg:

français

W przykładzie określa identyfikator LCID dla języka francuskiego 1036i identyfikator zdefiniowany przez użytkownika stoplist, 5.Akcent czułość jest włączona.

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