semantickeyphrasetable (Transact-SQL)

Van toepassing op:SQL Server

Geeft een tabel terug met nul, één of meer rijen voor sleutelzinnen die zijn gekoppeld aan de gespecificeerde kolommen in de gespecificeerde tabel.

Deze rowset-functie kan worden aangeduid in de FROM-clausule van een SELECT-instructie alsof het een gewone tabelnaam is.

Transact-SQL syntaxis-conventies

Syntax

SEMANTICKEYPHRASETABLE  
    (  
    table,  
    { column | (column_list) | * }  
     [ , source_key ]  
    )  

Arguments

table
Is de naam van een tabel die volledige tekst en semantische indexering heeft ingeschakeld.

Deze naam kan een naam van één tot vier delen zijn, maar een externe servernaam is niet toegestaan.

column
Naam van de geïndexeerde kolom waarvoor resultaten moeten worden geretourneerd. Voor de kolom moet semantische indexering zijn ingeschakeld.

column_list
Geeft verschillende kolommen aan, gescheiden door een komma en tussen haakjes. Voor alle kolommen moet semantische indexering zijn ingeschakeld.

*
Geeft aan dat alle kolommen waarvoor semantische indexering is ingeschakeld, zijn opgenomen.

source_key
Unieke sleutel voor de rij om resultaten voor een specifieke rij aan te vragen.

De sleutel wordt impliciet geconverteerd naar het type unieke sleutel in de brontabel, indien mogelijk. De sleutel kan worden gespecificeerd als een constante of variabele, maar kan geen expressie zijn of het resultaat van een scalaire subquery. Als source_key wordt weggelaten, worden de resultaten voor alle rijen teruggegeven.

Tabel geretourneerd

De volgende tabel beschrijft de informatie over sleutelzinnen die deze rijsetfunctie teruggeeft.

Column_name Typ Description
column_id int ID van de kolom waaruit de huidige sleutelzin is gehaald en geïndexeerd.

Zie de functies COL_NAME en COLUMNPROPERTY voor details over hoe je kolomnaam uit column_id kunt ophalen en omgekeerd.
document_key *

Deze sleutel komt overeen met het type unieke sleutel in de brontabel.
Unieke sleutelwaarde van het document of de rij waaruit de huidige zoekterm is geïndexeerd.
Sleutelzin NVARCHAR De sleutelzin in de kolom die door column_id wordt geïdentificeerd en is gekoppeld aan het document dat door document_key is gespecificeerd.
Score REAL Een relatieve waarde voor deze sleutelzin in relatie tot alle andere sleutelzinnen in hetzelfde document in de geïndexeerde kolom.

De waarde is een fractie van decimale waarden in het bereik van [0,0, 1,0], waarbij een hogere score een hogere weging vertegenwoordigt en 1,0 de perfecte score is.

Algemene opmerkingen

Voor meer informatie, zie Zoekwoorden in documenten vinden met semantische zoekopdracht.

Metadata

Voor informatie en status over het extractie en populatie van semantische sleutelwoorden, raadpleeg de volgende dynamische beheersweergaven:

Security

Permissions

Vereist SELECT-rechten op de basistabel waarop de full-text en semantische indexen zijn gemaakt.

Examples

Voorbeeld 1: Vind de belangrijkste sleutelzinnen in een specifiek document

Het volgende voorbeeld haalt de top 10 sleutelzinnen op uit het document dat door de variabele @DocumentId in de Document-kolom van de Production.Document-tabel van de AdventureWorks-voorbeelddatabase wordt gespecificeerd. De variabele @DocumentId stelt een waarde voor uit de sleutelkolom van de volledige tekstindex. De SEMANTICKEYPHRASETABLE-functie haalt deze resultaten efficiënt op door gebruik te maken van een indexzoekopdracht in plaats van een tabelscan. Dit voorbeeld gaat ervan uit dat de kolom is geconfigureerd voor full-text en semantische indexering.

SELECT TOP(10) KEYP_TBL.keyphrase  
FROM SEMANTICKEYPHRASETABLE  
    (  
    Production.Document,  
    Document,  
    @DocumentId  
    ) AS KEYP_TBL  
ORDER BY KEYP_TBL.score DESC;  
  

Voorbeeld 2: Vind de beste documenten die een specifieke zoekzin bevatten

Het volgende voorbeeld haalt de top 25 documenten op die de sleutelzin "Bracket" bevatten uit de kolom Document van de Production.Document-tabel van de AdventureWorks-voorbeelddatabase. Dit voorbeeld gaat ervan uit dat de kolom is geconfigureerd voor full-text en semantische indexering.

SELECT TOP (25) DOC_TBL.DocumentID, DOC_TBL.DocumentSummary  
FROM Production.Document AS DOC_TBL  
    INNER JOIN SEMANTICKEYPHRASETABLE  
    (  
    Production.Document,  
    Document  
    ) AS KEYP_TBL  
ON DOC_TBL.DocumentID = KEYP_TBL.document_key  
WHERE KEYP_TBL.keyphrase = 'Bracket'  
ORDER BY KEYP_TBL.Score DESC;