sp_fulltext_keymappings (języka Transact-SQL)

Zwraca mapowania identyfikatorów dokumentu (DocIds) i wartości klucz pełnotekstowego opartego.DocIdkolumna zawiera wartości dla bigint Liczba całkowita, która mapuje wartości pełnego tekstu określonego klucz w całym tekście indeksowania tabela.DocIdwartości, które spełniają warunek wyszukiwania są przekazywane z silnika pełnego tekstu do aparatu bazy danych, w którym są mapowane do wartości klucz pełnotekstowego opartego z tabela bazowa poszukiwanych.Pełnego tekstu kluczkolumna jest wymagana jest jedna kolumna w tabela indeks unikatowy .

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_fulltext_keymappings { table_id | table_id, docid | table_id, NULL, key }

Parametry

  • table_id
    To identyfikator obiektu pełnego tekstu indeksowania tabela.Jeżeli określono nieprawidłową table_id, zwracany jest błąd.Aby uzyskać informacje o uzyskiwaniu Identyfikatora obiektu tabela, zobacz OBJECT_ID (Transact-SQL).

  • docid
    Jest to identyfikator wewnętrzny dokument (DocId), który odpowiada wartości klucz .Nieprawidłowy docid wartość nie wygeneruje żadnych wyniki.Aby uzyskać informacje dotyczące identyfikatorów dokumentu, zobacz Struktury indeksu pełnotekstowego.

  • key
    Wartość klucz pełnotekstowego opartego z określonej tabela.Nieprawidłowy key wartość nie wygeneruje żadnych wyniki.Aby uzyskać informacje dotyczące wartości klucz pełnotekstowego opartego, zobacz Jak Uzyskiwanie informacji o kolumnie klucza pełnotekstowego (Transact-SQL).

Ważna informacjaWażne:

Informacje przy użyciu jednego dwóch lub trzech parametrów, zobacz "Uwagi" w dalszej części tego tematu.

Wartości kodów powrotnych

Brak.

Zestawy wyników

Nazwa kolumny

Typ danych

Opis

DocId

bigint

Jest to identyfikator wewnętrzny dokument (DocId) kolumna odpowiadającej wartości klucz .

Key

*

Wartość klucz pełnotekstowego opartego z określonej tabela.

Żadne klucze pełnego tekstu istnieje mapowanie tabela, zwracany jest pusty zestaw wierszy .

* Typ danych dla Key jest identyczny z typem danych z pełnotekstowe klucz kolumna w tabela bazowa.

Uprawnienia

Ta funkcja jest publiczna i nie wymaga żadnych specjalnych uprawnień.

Uwagi

W poniższej tabela opisano efekt przy użyciu jednego, dwóch lub trzech parametrów.

Ten parametr list…

Ma to result…

table_id

Po wywołaniu tylko z table_id parametr, sp_fulltext_keymappings zwraca wszystkie pełnotekstowego klucz (Key) wartości z określonego tabela bazowa, wraz z DocId, odpowiadający każdego klucz.Zawiera klucze, które oczekują na usuwanie.

Ta funkcja jest przydatna do rozwiązywania problemów z różnych problemów.Jest szczególnie przydatne przy przeglądaniu podczas pełnego tekstu wybranego klucz nie jest typu danych Liczba całkowita zawartość indeksu pełnotekstowego.Obejmuje to łączącą wyniki sp_fulltext_keymappings z wyniki sys.dm_fts_index_keywords_by_document.Aby uzyskać więcej informacji, zobacz sys.dm_fts_index_keywords_by_document (języka Transact-SQL).

Na ogół jednak zalecane, jeśli to możliwe, wykonać sp_fulltext_keymappings z parametrami, które określić szczególne pełnotekstowe klucz lub DocId.To jest znacznie bardziej efektywne niż powrót z mapy całego klucz , zwłaszcza w przypadku bardzo dużych tabela , dla których mogą być znacznych kosztów wydajności przekazujących dane mapy cały klucz .

table_id, docid

Jeśli tylko table_id i docid są określone, docid musi być niepustych i określić prawidłową DocId w określonej tabela.Ta funkcja jest przydatna do izolowania niestandardowe pełnotekstowe klucz z tabela bazowa , która odpowiada DocId określonego indeksu pełnotekstowego.

table_id, NULL, key

Jeśli istnieją trzy parametry, drugi parametr musi mieć wartość NULL, i key musi być niepustych i określ wartość pełnotekstowe prawidłowy klucz z określonej tabela.Ta funkcja jest przydatna w izolowaniu DocId, odpowiadający określonego klucz pełnotekstowego z tabela bazowa.

Zwracany jest błąd w jeden z następujących warunków:

  • Określono nieprawidłową table_id.

  • tabela nie jest indeksowana pełnego tekstu.

  • Wystąpi dla parametrów, które mogą być inne niż NULL-null.

Przykłady

Ostrzeżenie

Przykłady w tej sekcji Użyj Production.ProductReview tabela AdventureWorks2008R2 przykładowej bazy danych.Indeks można utworzyć przez wykonywanie przykład przewidziane ProductReview tabela w Utwórz indeks PEŁNOTEKSTOWY (Transact-SQL).

A.Uzyskiwanie wszystkich wartości klucza i DocId

W poniższym przykładzie użyto DECLARE instrukcja do utworzenia zmiennej lokalnej, @table_id i przypisać identyfikator ProductReview tabela jako jego wartość.Przykład wykonuje sp_fulltext_keymappings Określanie @table_id do table_id parametru.

Ostrzeżenie

Za pomocą sp_fulltext_keymappings tylko z parametrem table_id parametr jest odpowiednia dla małych tabel.

USE AdventureWorks2008R2;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id;
GO

W tym przykładzie zwraca DocIds i klucze pełnego tekstu z tabelaw następujący sposób:

docid

key

1

1

1

2

2

2

3

3

3

4

4

4

B.Uzyskiwanie wartość DocId dla określonej wartości klucza

W poniższym przykładzie użyto instrukcja DECLARE, aby utworzyć zmienną lokalną @table_idi przypisać identyfikator ProductReview tabela jako jego wartość.Przykład wykonuje sp_fulltext_keymappings Określanie @table_id dla table_id parametr wartość NULL dla docid parametr i 4- key parametru.

Ostrzeżenie

Za pomocą sp_fulltext_keymappings tylko z parametrem table_id parametrnadaje się dla małej tabel.

USE AdventureWorks2008R2;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id, NULL, 4;
GO

W tym przykładzie zwraca następujące wyniki.

docid

key

4

4

4