sp_fulltext_keymappings (Transact-SQL)
platí pro:SQL Serverazure SQL Managed InstanceAnalytics Platform System (PDW)
Vrátí mapování mezi identifikátory dokumentu (DocIds) a hodnotami fulltextového klíče. Sloupec DocId obsahuje hodnoty pro bigint celé číslo, které se mapuje na konkrétní hodnotu fulltextového klíče v indexované tabulce s fulltextem. Hodnoty DocId, které vyhovují hledané podmínce, se předávají z modulu Full-Text do databázového stroje, kde se mapují na hodnoty fulltextového klíče ze základní tabulky, na kterou se dotazuje. Sloupec fulltextového klíče je jedinečný index, který se vyžaduje v jednom sloupci tabulky.
Syntax
sp_fulltext_keymappings { table_id | table_id , docId | table_id , NULL , key }
[ ; ]
Argumenty
table_id
ID objektu fulltextové indexované tabulky. Pokud zadáte neplatnou table_id, vrátí se chyba. Informace o získání ID objektu tabulky naleznete v tématu OBJECT_ID.
docId
Interní identifikátor dokumentu (DocId), který odpovídá hodnotě klíče. Neplatná hodnota docId nevrací žádné výsledky.
klíč
Hodnota fulltextového klíče ze zadané tabulky. Neplatná hodnota klíče nevrací žádné výsledky. Informace o hodnotách fulltextového klíče najdete v tématu Vytvoření a správa fulltextových indexů.
Návratové hodnoty kódu
Žádný.
Sada výsledků
Název sloupce | Datový typ | Popis |
---|---|---|
DocId |
bigint | Sloupec interního identifikátoru dokumentu (DocId), který odpovídá hodnotě klíče. |
Key |
1 | Hodnota fulltextového klíče ze zadané tabulky. Pokud v tabulce mapování neexistují žádné fulltextové klíče, vrátí se prázdná sada řádků. |
1 Datový typ pro klíč je stejný jako datový typ sloupce fulltextového klíče v základní tabulce.
Dovolení
Tato funkce je veřejná a nevyžaduje žádná zvláštní oprávnění.
Poznámky
Následující tabulka popisuje účinek použití jednoho, dvou nebo tří parametrů.
Tento seznam parametrů... | Má tento výsledek... |
---|---|
table_id | Při vyvolání pouze s parametrem table_id, sp_fulltext_keymappings vrátí všechny hodnoty fulltextového klíče (Klíče) ze zadané základní tabulky spolu s Identifikátorem DocId, který odpovídá každému klíči. To zahrnuje klíče, které čekají na odstranění.Tato funkce je užitečná pro řešení různých problémů. Je užitečné vidět obsah fulltextového indexu, když vybraný fulltextový klíč není celočíselným datovým typem. To zahrnuje spojení výsledků sp_fulltext_keymappings s výsledky sys.dm_fts_index_keywords_by_document . Další informace najdete v tématu sys.dm_fts_index_keywords_by_document.Obecně však doporučujeme, abyste v případě potřeby spustili sp_fulltext_keymappings s parametry, které určují konkrétní fulltextový klíč nebo DocId. To je mnohem efektivnější než vrácení celé klíčové mapy, zejména pro velkou tabulku, pro kterou můžou být zásadní náklady na výkon při vrácení celé mapy klíčů. |
table_id, docId | Pokud jsou zadány pouze table_id a docId, docId musí mít hodnotu non-NULL a v zadané tabulce zadat platné ID docId. Tato funkce je užitečná k izolaci vlastního fulltextového klíče od základní tabulky, která odpovídá Identifikátoru DocId konkrétního fulltextového indexu. |
table_id, NULL , klíč |
Pokud existují tři parametry, musí být druhý parametr NULL a klíč musí být nenulový a zadat platnou hodnotu fulltextového klíče ze zadané tabulky. Tato funkce je užitečná při izolování Identifikátoru DocId, který odpovídá určitému fulltextovém klíči ze základní tabulky. |
Za některé z následujících podmínek se vrátí chyba:
- Zadáte neplatný table_id.
- Tabulka není indexovaná jako fulltext.
-
NULL
je zjištěn parametr, který může být nenulový.
Příklady
Poznámka
Příklady v této části používají tabulku Production.ProductReview
ukázkové databáze AdventureWorks2022. Tento index můžete vytvořit spuštěním příkladu pro tabulku ProductReview
v CREATE FULLTEXT INDEX.
A. Získání všech hodnot Key a DocId
Následující příklad používá příkaz DECLARE @local_variable k vytvoření místní proměnné, @table_id
a přiřazení ID ProductReview
tabulky jako její hodnoty. Příklad se spustí sp_fulltext_keymappings
určení @table_id
parametru table_id.
Poznámka
Použití sp_fulltext_keymappings
pouze s parametrem table_id je vhodné pro malé tabulky.
USE AdventureWorks2022;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id;
GO
Tento příklad vrátí všechny Identifikátory DocId a fulltextové klíče z tabulky následujícím způsobem:
STŮL | docId | klíč |
---|---|---|
1 |
1 |
1 |
2 |
2 |
2 |
3 |
3 |
3 |
4 |
4 |
4 |
B. Získání hodnoty DocId pro konkrétní hodnotu klíče
Následující příklad používá příkaz DECLARE k vytvoření místní proměnné, @table_id
a k přiřazení ID ProductReview
tabulky jako jeho hodnoty. Příklad spustí sp_fulltext_keymappings
zadání @table_id
parametru table_id, NULL
parametru docId a 4 pro parametr klíč.
Poznámka
Použití sp_fulltext_keymappings
pouze s parametrem table_id je vhodné pro malé tabulky.
USE AdventureWorks2022;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id, NULL, 4;
GO
Tento příklad vrátí následující výsledky.
STŮL | docId | klíč |
---|---|---|
4 |
4 |
4 |
Související obsah
- uložené procedury vyhledávání Full-Text a sémantické vyhledávání (Transact-SQL)