Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Managed Instance
Analysplattformssystem (PDW)
Returnerar information om dokumentnivåinnehållet i ett fulltextindex kopplat till den angivna tabellen.
sys.dm_fts_index_keywords_by_document är en dynamisk ledningsfunktion.
För att se fulltextindex på högre nivå
För att se information om egenskapsnivåinnehåll relaterat till en dokumentegenskap
Syntax
sys.dm_fts_index_keywords_by_document
(
DB_ID('database_name'), OBJECT_ID('table_name')
)
Arguments
db_id('database_name')
Ett anrop till funktionen DB_ID(). Denna funktion accepterar ett databasnamn och returnerar databas-ID:t, som sys.dm_fts_index_keywords_by_document använder för att hitta den angivna databasen. Om database_name utelämnas returneras det aktuella databas-ID:t.
object_id('table_name')
En anrop till OBJECT_ID() -funktionen. Denna funktion accepterar ett tabellnamn och returnerar tabell-ID:t för tabellen som innehåller fulltextindexet för inspektering.
Tabell returnerad
| Kolumn | Datatyp | Description |
|---|---|---|
| nyckelord | nvarchar(4000) | Den hexadecimala representationen av nyckelordet som lagras i fulltextindexet. Notera: OxFF representerar det specialtecken som anger slutet på en fil eller dataset. |
| display_term | nvarchar(4000) | Det människoläsbara formatet av nyckelordet. Detta format härstammar från det interna formatet som lagras i fulltextindexet. Notera: OxFF representerar det specialtecken som anger slutet på en fil eller dataset. |
| column_id | int | ID för kolumnen från vilken det aktuella nyckelordet indexerades i fulltext. |
| document_id | int | ID för dokumentet eller raden från vilken den aktuella termen indexerades i fulltext. Detta ID motsvarar fulltextnyckelvärdet för det dokumentet eller raden. |
| occurrence_count | int | Antal förekomster av det aktuella nyckelordet i dokumentet eller raden som anges av document_id. När 'search_property_name' anges visas occurrence_count endast antalet förekomster av det aktuella nyckelordet i den angivna sökegenskapen inom dokumentet eller raden. |
Anmärkningar
Informationen som sys.dm_fts_index_keywords_by_document ger är användbar för att ta reda på följande, bland annat:
Det totala antalet nyckelord som ett fulltextindex innehåller.
Oavsett om ett nyckelord är en del av ett givet dokument eller en rad.
Hur många gånger ett nyckelord förekommer i hela fulltextindexet; Det är:
Hur många gånger ett nyckelord förekommer i ett givet dokument eller rad.
Hur många nyckelord ett givet dokument eller rad innehåller.
Du kan också använda informationen som sys.dm_fts_index_keywords_by_document tillhandahåller för att hämta alla nyckelord som tillhör ett givet dokument eller rad.
När fulltextnyckelkolumnen är en heltalsdatatyp, som rekommenderats, mappas document_id direkt till fulltextnyckelvärdet i bastabellen.
Till skillnad från detta, när fulltextnyckelkolumnen använder en icke-heltalsdatatyp, representerar document_id inte fulltextnyckeln i bastabellen. I detta fall, för att identifiera raden i bastabellen som returneras av dm_fts_index_keywords_by_document, måste du ansluta denna vy till resultaten som returneras av sp_fulltext_keymappings. Innan du kan ansluta dem måste du lagra utdata från den lagrade proceduren i en tillfällig tabell. Sedan kan du ansluta kolumnen document_id dm_fts_index_keywords_by_document med DocId-kolumnen som returneras av denna lagrade procedur. Observera att en tidsstämpelkolumn inte kan ta emot värden vid insättningstidpunkten, eftersom de genereras automatiskt av SQL Server. Därför måste tidsstämpelkolumnen konverteras till varbinär(8) kolumner. Följande exempel visar dessa steg. I detta exempel är table_id ID:t för din tabell, database_name är namnet på din databas och table_name är namnet på din tabell.
USE database_name;
GO
CREATE TABLE #MyTempTable
(
docid INT PRIMARY KEY ,
[key] INT NOT NULL
);
DECLARE @db_id int = db_id(N'database_name');
DECLARE @table_id int = OBJECT_ID(N'table_name');
INSERT INTO #MyTempTable EXEC sp_fulltext_keymappings @table_id;
SELECT * FROM sys.dm_fts_index_keywords_by_document
( @db_id, @table_id ) kbd
INNER JOIN #MyTempTable tt ON tt.[docid]=kbd.document_id;
GO
Permissions
Kräver SELECT-behörighet för kolumnerna som täcks av fulltextindexet och SKAPA FULLTEXTKATALOG-behörigheter.
Examples
A. Visning av fulltextindexinnehåll på dokumentnivå
Följande exempel visar innehållet i fulltextindexet på dokumentnivå i HumanResources.JobCandidate tabellen för AdventureWorks2025 exempeldatabasen.
Anmärkning
Du kan skapa detta index genom att köra exemplet som ges för HumanResources.JobCandidate tabellen i CREATE FULLTEXT INDEX (Transact-SQL).
SELECT * FROM sys.dm_fts_index_keywords_by_document(db_id('AdventureWorks2022'),
object_id('HumanResources.JobCandidate'));
GO
Se även
Full-Text Sök och semantisk sökning Dynamiska Hanteringsvyer och funktioner (Transact-SQL)
Fulltextsökning
sys.dm_fts_index_keywords (Transact-SQL)
sys.dm_fts_index_keywords_by_property (Transact-SQL)
sp_fulltext_keymappings (Transact-SQL)
Förbättra prestandan hos Full-Text index