sp_fulltext_keymappings (Transact-SQL)

A következőkre vonatkozik:SQL ServerFelügyelt Azure SQL-példányAnalytics platformrendszer (PDW)

A dokumentumazonosítók (DocIds) és a teljes szöveges kulcsértékek közötti leképezéseket adja vissza. A DocId oszlop egy bigint egész szám értékeit tartalmazza, amelyek egy teljes szöveges indexelt táblázat adott teljes szöveges kulcsértékére képezhetők le. A keresési feltételnek megfelelő DocId-értékeket a rendszer a Full-Text motortól az adatbázismotorhoz továbbítja, ahol a lekérdezett alaptáblából származó teljes szöveges kulcsértékek lesznek leképezve. A teljes szövegű kulcsoszlop egy egyedi index, amely a tábla egyik oszlopában szükséges.

Transact-SQL szintaxis konvenciói

Szintaxis

sp_fulltext_keymappings { table_id | table_id , docId | table_id , NULL , key }
[ ; ]

Érvek

Fontos

A kiterjesztett tárolt eljárások argumentumait a Szintaxis szakaszban leírt sorrendben kell megadni. Ha a paraméterek sorrenden kívül vannak beírva, hibaüzenet jelenik meg.

table_id

A teljes szöveges indexelt tábla objektumazonosítója. Ha érvénytelen table_idad meg, a rendszer hibát ad vissza. A tábla objektumazonosítójának beszerzéséről további információt a OBJECT_ID.

docId

A kulcsértéknek megfelelő belső dokumentumazonosító (DocId). Érvénytelen docId érték nem ad eredményül.

kulcs

A megadott tábla teljes szöveges kulcsértéke. Érvénytelen kulcs érték nem ad eredményül. A teljes szöveges kulcsértékekről további információt a Teljes szöveges indexek létrehozása és kezelésecímű témakörben talál.

Kódértékek visszaadása

Egyik sem.

Eredményhalmaz

Oszlop neve Adattípus Leírás
DocId bigint Egy belső dokumentumazonosító (DocId) oszlop, amely megfelel a kulcsértéknek.
Key 1 A megadott tábla teljes szöveges kulcsértéke.

Ha a leképezési táblában nem találhatók teljes szöveges kulcsok, a függvény üres sorkészletet ad vissza.

1 A kulcs adattípusa megegyezik az alaptábla teljes szöveges kulcsoszlopának adattípusával.

Engedélyek

Ez a függvény nyilvános, és nem igényel különleges engedélyeket.

Megjegyzések

Az alábbi táblázat egy, két vagy három paraméter használatát ismerteti.

Ez a paraméterlista... Ez az eredmény...
table_id Ha csak a table_id paraméterrel hívja meg a rendszer, sp_fulltext_keymappings a megadott alaptábla összes teljes szöveges kulcsértékét adja vissza az egyes kulcsoknak megfelelő DocId azonosítóval együtt. Ide tartoznak a törlésre váró kulcsok.

Ez a függvény hasznos a különböző problémák elhárításához. A teljes szöveges indextartalom akkor hasznos, ha a kijelölt teljes szöveges kulcs nem egész adattípusú. Ez magában foglalja a sp_fulltext_keymappings eredményeinek és sys.dm_fts_index_keywords_by_documenteredményeinek összekapcsolását. További információ: sys.dm_fts_index_keywords_by_document.

Általában azonban azt javasoljuk, hogy ha lehetséges, sp_fulltext_keymappings hajtsa végre egy adott teljes szöveges kulcsot vagy DocId azonosítót megadó paraméterekkel. Ez sokkal hatékonyabb, mint egy teljes kulcstérkép visszaadása, különösen olyan nagy táblák esetében, amelyek esetében a teljes kulcstérkép visszaadásának teljesítményköltsége jelentős lehet.
table_id, docId Ha csak a table_id és docId van megadva, docId nem NULL értékűnek kell lennie, és érvényes DocId azonosítót kell megadnia a megadott táblában. Ez a függvény akkor hasznos, ha elkülöníti az egyéni teljes szöveges kulcsot az alaptáblától, amely egy adott teljes szöveges index DocId azonosítójának felel meg.
table_id, NULL, kulcs Ha három paraméter van jelen, a második paraméternek NULLkell lennie, kulcs pedig nem NULL értékűnek kell lennie, és érvényes teljes szöveges kulcsértéket kell megadnia a megadott táblából. Ez a függvény az alaptábla egy adott teljes szöveges kulcsának megfelelő DocId elkülönítésében hasznos.

A következő feltételek bármelyike esetén hibaüzenet jelenik meg:

  • Érvénytelen table_id
  • A táblázat nem teljes szöveges indexelt
  • NULL egy nem null értékű paraméter esetén jelentkezik.

Példák

Jegyzet

A példák ebben a szakaszban az AdventureWorks2025 mintaadatbázisának táblázatát használják Production.ProductReview . Ezt az indexet úgy hozhatod létre, hogy végrehajtod a táblázathoz ProductReview megadott példát .CREATE FULLTEXT INDEX

Egy. Az összes kulcs- és DocId-érték lekérése

Az alábbi példa egy DECLARE @local_variable utasítással hoz létre egy helyi változót, @table_id és a ProductReview tábla azonosítóját rendeli hozzá értékként. A példa végrehajtja sp_fulltext_keymappings a @table_id paraméter megadásával.

Jegyzet

A sp_fulltext_keymappings csak a table_id paraméterrel való használata alkalmas kis táblákhoz.

USE AdventureWorks2022;
GO

DECLARE @table_id AS INT = OBJECT_ID(N'Production.ProductReview');

EXECUTE sp_fulltext_keymappings @table_id;
GO

Ez a példa a táblázat összes DocId-azonosítóját és teljes szöveges kulcsát adja vissza az alábbiak szerint:

TABLE docId kulcs
1 1 1
2 2 2
3 3 3
4 4 4

B. Egy adott kulcsérték DocId értékének lekérése

Az alábbi példa egy DEKLARÁLT utasítással hoz létre egy helyi változót, @table_id, és az ProductReview tábla azonosítóját rendeli hozzá értékként. A példa végrehajtja a sp_fulltext_keymappings paraméter @table_id megadásával , a NULL paraméterhez , a kulcs paraméterhez pedig 4-et.

Jegyzet

A sp_fulltext_keymappings csak a table_id paraméterrel való használata alkalmas kis táblákhoz.

USE AdventureWorks2022;
GO

DECLARE @table_id AS INT = OBJECT_ID(N'Production.ProductReview');

EXECUTE sp_fulltext_keymappings @table_id, NULL, 4;
GO

Ez a példa a következő eredményeket adja vissza.

TABLE docId kulcs
4 4 4