Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Geeft alle property-gerelateerde inhoud terug in de full-text index van een gegeven tabel. Dit omvat alle gegevens die behoren tot een eigendom dat geregistreerd is door de zoekproperty list die bij die full-text index hoort.
sys.dm_fts_index_keywords_by_property is een dynamische beheerfunctie waarmee je kunt zien welke geregistreerde eigendommen door IFilters zijn uitgezonden op het indextijdstip, evenals de exacte inhoud van elke eigenschap in elk geïndexeerd document.
Om alle inhoud op documentniveau te bekijken (inclusief inhoud gerelateerd aan eigendommen), zie sys.dm_fts_index_keywords_by_document.
Voor het bekijken van de volledige tekstindex op hoger niveau, zie sys.dm_fts_index_keywords.
Voor informatie over het zoeken in vastgoedlijsten, zie Zoek documenteigendommen met zoek in vastgoedlijsten.
Syntax
sys.dm_fts_index_keywords_by_property
(
DB_ID('database_name')
, OBJECT_ID('table_name')
)
Argumenten
DB_ID('database_name')
Een oproep aan de DB_ID functie.
DB_ID is int. Deze functie accepteert een databasenaam en geeft de database-ID terug, die sys.dm_fts_index_keywords_by_property wordt gebruikt om de gespecificeerde database te vinden. Als database_name wordt weggelaten, wordt de huidige database-ID teruggegeven.
OBJECT_ID('table_name')
Een oproep aan de OBJECT_ID functie.
OBJECT_ID is int. Deze functie accepteert een tabelnaam en geeft de tabel-ID terug van de tabel met de volledige tekst index om te inspecteren.
Tabel geretourneerd
| Kolomnaam | Gegevenstype | Nullbaar | Beschrijving |
|---|---|---|---|
keyword
1 |
varbinary(128) | No | De hexadecimale representatie van het trefwoord die wordt opgeslagen in de full-text index. |
display_term
1 |
nvarchar(4000) | No | Het mensleesbare formaat van het trefwoord. Dit formaat is afgeleid van het interne formaat dat wordt opgeslagen in de volledige tekstindex. |
column_id |
int | No | ID van de kolom waaruit het huidige trefwoord full-text is geïndexeerd. |
document_id |
bigint | Ja | ID van het document of de rij waaruit de huidige term volledig is geïndexeerd. Deze ID komt overeen met de volledige tekstsleutelwaarde van dat document of die rij. |
property_id |
int | Ja | Interne eigenschap-ID van de zoekeigenschap binnen de full-text index van de tabel die je in de OBJECT_ID parameter hebt opgegeven. |
10xFF staat voor het speciale teken dat het einde van een bestand of dataset aangeeft.
Wanneer een bepaalde eigenschap aan een zoekproperty lijst wordt toegevoegd, registreert de Full-Text Engine de property en wijst een interne property ID toe die specifiek is voor die propertylijst. De interne eigenschaps-ID, die een geheel getal is, is uniek voor een gegeven zoekeigenschapslijst. Als een bepaalde eigenschap is geregistreerd voor meerdere lijsten met zoekeigenschappen, kan er een andere interne eigenschaps-id worden toegewezen voor elke lijst met zoekeigenschappen.
Note
De interne eigenschaps-ID is anders dan de eigenschapsgeheelidentifier die wordt gespecificeerd bij het toevoegen van de eigenschap aan de zoek-eigenschapslijst. Zie Documenteigenschappen zoeken met lijsten met zoekeigenschappen voor meer informatie.
Om de associatie tussen property_id en de eigendomsnaam te bekijken, zie sys.registered_search_properties.
Opmerkingen
Deze dynamische beheersweergave kan vragen beantwoorden zoals de volgende:
Welke inhoud wordt opgeslagen op een bepaalde property voor een bepaalde DocID?
Hoe gebruikelijk is een bepaald pand onder de geïndexeerde documenten?
Welke documenten bevatten daadwerkelijk een bepaald eigendom? Dit is handig als het zoeken naar een bepaalde zoekeigenschap geen document oplevert dat je verwachtte te vinden.
Wanneer de kolom van de volledige tekst sleutel een geheel datatype is, zoals aanbevolen, wordt deze document_id direct gekoppeld aan de volledige tekst sleutelwaarde in de basistabel.
Daarentegen, wanneer de kolom met de volledige tekst sleutel een niet-geheel datatype gebruikt, document_id vertegenwoordigt deze niet de volledige tekstsleutel in de basistabel. In dit geval moet je om de rij in de basistabel te identificeren die door dm_fts_index_keywords_by_propertywordt teruggegeven, deze weergave joinen met de resultaten die door sp_fulltext_keymappings worden teruggegeven.
Voordat je ze kunt joinen, moet je de output van de opgeslagen procedure opslaan in een tijdelijke tabel. Vervolgens kun je de document_id kolom van dm_fts_index_keywords_by_property joinen met de DocId kolom die door deze opgeslagen procedure wordt teruggegeven. Een tijdstempelkolom kan geen waarden ontvangen op het moment van invoegen, omdat deze automatisch worden gegenereerd door SQL Server. Daarom moet de tijdstempelkolom worden omgezet naar varbinaire (8) kolommen. Het volgende voorbeeld toont deze stappen. In dit voorbeeld is @table_id de ID van je tabel, database_name de naam van je database, en table_name de naam van je tabel.
USE database_name;
GO
CREATE TABLE #MyTempTable
(
docid INT PRIMARY KEY,
[key] INT NOT NULL
);
DECLARE @db_id AS INT = DB_ID(N'database_name');
DECLARE @table_id AS INT = OBJECT_ID(N'table_name');
INSERT INTO #MyTempTable
EXECUTE sp_fulltext_keymappings @table_id;
SELECT *
FROM sys.dm_fts_index_keywords_by_property(@db_id, @table_id) AS kbd
INNER JOIN #MyTempTable AS tt
ON tt.[docid] = kbd.document_id;
GO
Permissions
Vereist SELECT toestemming voor de kolommen die door de full-text index worden gedekt en CREATE FULLTEXT CATALOG permissies.
Examples
Het volgende voorbeeld geeft trefwoorden uit de Author eigenschap terug in de full-text index van de Production.Document tabel van de AdventureWorks2025 voorbeelddatabase. Het voorbeeld gebruikt de alias KWBPOP voor de tabel die door sys.dm_fts_index_keywords_by_property Het voorbeeld wordt teruggegeven. Het voorbeeld gebruikt inner joins om kolommen uit sys.registered_search_properties en sys.fulltext_indexes te combineren.
-- Once the full-text index is configured to support property searching
-- on the Author property, return any keywords indexed for this property.
USE AdventureWorks2025;
GO
SELECT KWBPOP.*
FROM sys.dm_fts_index_keywords_by_property(DB_ID(), OBJECT_ID('Production.Document')) AS KWBPOP
INNER JOIN sys.registered_search_properties AS RSP
ON ((KWBPOP.property_id = RSP.property_id)
AND (RSP.property_name = 'Author'))
INNER JOIN sys.fulltext_indexes AS FTI
ON ((FTI.[OBJECT_ID] = OBJECT_ID('Production.Document'))
AND (RSP.property_list_id = FTI.property_list_id));
GO
Verwante onderwerpen
- Full-Text Zoek
- Verbeter de prestaties van full-text indexen
- sp_fulltext_keymappings (Transact-SQL)
- sys.dm_fts_index_keywords_by_document (Transact-SQL)
- sys.dm_fts_index_keywords (Transact-SQL)
- sys.registered_search_properties (Transact-SQL)
- sys.registered_search_property_lists (Transact-SQL)
- Zoek documenteigenschappen met zoekeigenschappenlijsten