Udostępnij przez


sp_fulltext_keymappings (Transact-SQL)

Zwraca mapowania identyfikatorów dokumentu (DocIds) i pełnego tekstu klucz wartości.Kolumna DocId zawiera wartości dla bigint Liczba całkowita, która mapuje do określonej wartości klucz pełnotekstowego w tabela indeksowanej pełnego tekstu. DocId wartości, które spełniają warunek wyszukiwania są przekazywane z silnika pełny tekst do aparat bazy danych, gdzie są one mapowane do wartości klucz pełnego tekstu z tabela bazowa, którego dotyczy kwerenda.Kolumna klucz pełnego tekstu jest indeks unikatowy, wymagany w jednej kolumnie tabela.

Topic link iconKonwencje składni języka Transact-SQL

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

Parameters

  • table_id
    Jest to identyfikator obiektu w tabela indeksowanej pełnego tekstu.Jeżeli określono nieprawidłowy table_id, zwracany jest błąd. Aby uzyskać więcej informacji na temat identyfikator tabela zobacz OBJECT_ID (języka Transact-SQL).

  • docid
    Jest to identyfikator wewnętrzny dokument (DocId), odpowiadającą wartości klucz.Nieprawidłowy docid wartość nie wygeneruje żadnych wyniki. Aby uzyskać informacje na temat identyfikatorów dokumentu zobacz Struktura indeksie pełnego tekstu.

  • key
    Jest wartością klucz pełnego tekstu z określonej tabela.Nieprawidłowy key wartość nie wygeneruje żadnych wyniki. Aby uzyskać informacje dotyczące całego tekstu klucz wartości, zobacz Jak Uzyskiwanie informacji o kolumnie klucz Full-Text (języka Transact-SQL).

Important noteImportant Note:

Aby uzyskać informacje dotyczące korzystania z 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 kolumna

Typ danych

Description

DocId

bigint

Jest to kolumna identyfikatora (DocId) wewnętrzny dokument, który odpowiada wartości klucz.

Klucz

*

Jest wartością klucz pełnego tekstu z określonej tabela.

Jeśli klucze pełnego tekstu nie tabela mapowania, zwracany jest pustych zestaw wierszy.

* Typ danych dla klucz jest identyczny z typem danych Kolumna klucz pełnego tekstu w tabela bazowa.

Uprawnienia

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

Remarks

W poniższej tabela przedstawiono wpływ przy użyciu jednego, dwóch lub trzech parametrów.

Ten parametr list…

Ma to result…

table_id

Kiedy wywoływana tylko z table_id parametr, sp_fulltext_keymappings zwraca wszystkie wartości pełnego tekstu kluczy (klucz) z określonej tabela bazowa, wraz z DocId, odpowiadający każdy klucz. Dotyczy to także klucze znajdujące się w oczekiwaniu na usunięcie.

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

Ogólnie rzecz biorąc zaleca się jednak, jeśli to możliwe, należy wykonać sp_fulltext_keymappings parametrów określających konkretnego klucz pełnego tekstu lub DocId.Jest to znacznie bardziej efektywne niż zwracanie całej mapy klucz, szczególnie w przypadku bardzo dużych tabela, dla których koszt wydajności zwracanie całego klucz mapy mogą być istotne.

table_id, docid

Jeśli tylko table_id i docid określono, docid musi być niepustych i określić prawidłowy DocId w określonej tabela. Ta funkcja jest przydatna do izolowania niestandardowe klucz pełnotekstowego opartego na tabela bazowa, które odpowiada DocId określonego indeksu pełnotekstowego.

table_idNULL, key

Jeśli istnieją trzy parametry, drugi parametr musi mieć wartość NULL, a key musi być niepustych i określ prawidłową wartość klucz pełnego tekstu z określonej tabela. Ta funkcja jest przydatna w izolowanie DocId, odpowiadający określonym pełnotekstowego klucz z tabela bazowa.

Błąd jest zwracany w jeden z następujących warunków:

  • Określono nieprawidłowy table_id.

  • Tabela nie jest indeksowania pełnotekstowego.

  • Wartość NULL, po napotkaniu dla parametru, które mogą być niepustych

Przykłady

Uwaga

Przykłady w tej sekcji użycia tabela Production.ProductReview the AdventureWorks przykładowej bazy danych.Można utworzyć tego indeksu, wykonując podane dla tabela ProductReview w przykładzie CREATE FULLTEXT INDEX (Transact-SQL).

A.Uzyskiwanie wszystkie wartości kluczy i DocId

W poniższym przykładzie użyto ZADEKLAROWAĆ Instrukcja tworzenie lokalnych zmiennych, @table\_idi przypisać identyfikator ProductReview Tabela jako jego wartość. W przykładzie wykonuje sp_fulltext_keymappings Określanie@table_id dla table_id parametr.

Uwaga

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

USE AdventureWorks;
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 tabela, w następujący sposób:

docid

key

1

1

1

2

2

2

3

3

3

4

4

4

B.Uzyskiwanie wartości DocId dla określonej wartości klucz

W poniższym przykładzie użyto instrukcja DECLARE do utworzenia zmiennej lokalnej @table\_idi przypisać identyfikator ProductReview Tabela jako jego wartość. W przykładzie wykonuje sp_fulltext_keymappings Określanie@table_id dla table_id Parametr wartość NULL dla docid Parametr a 4 key parametr.

Uwaga

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

USE AdventureWorks;
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

Historia zmian

Microsoft Learning

Dodano przykłady.