Aracılığıyla paylaş


sys.dm_fts_index_keywords_by_document (Transact-SQL)

Belirtilen tabloiçin tam metin dizini, belgedüzey içerik hakkında bilgi verir.Verilen bir anahtar sözcük, çeşitli belgelerde görünebilir.

sys.dm_fts_index_keywords_by_documentdinamik yönetim işlevikullanılır.

Not

Daha yüksek görüntülemek için-, anahtar sözcük düzeykullanımdüzey tam metin dizini bilgi sys.dm_fts_index_keywords (Transact-SQL)dinamik yönetim işlevi.

Sözdizimi

sys.dm_fts_index_keywords_by_document
( 
    DB_ID('database_name'),     OBJECT_ID('table_name') 
)

Bağımsız değişkenler

  • db_id ('database_name')
    Çağrı DB_ID() işlev.Bu işlev bir veritabanı adı kabul eder ve veritabanı kimliği verir, sys.dm_fts_index_keywords_by_document Bul. belirtilen veritabanı için kullanırdatabase_name Olan atlanırsa, geçerli veritabanı kimliği verdi.

  • object_id ('table_name')
    Çağrı OBJECT_ID() işlev.Bu işlev , tablo adı kabul eder ve incelemek için tam metin dizini içeren tablo tablo Kimliğini döndürür.

Dönen Tablo

Column

Veri türü

Açıklama

keyword

nvarchar(4000)

Tam metin dizini içinde depolanan anahtar sözcük onaltılık gösterimi.

NotNot
Bir dosya ya da dataset sonuna gösteren özel bir karakter OxFF temsil.

display_term

nvarchar(4000)

Anahtar sözcük okunabilir biçimi.Bu biçim, tam metin dizininde depolanan iç biçimi türetilir.

NotNot
Bir dosya ya da dataset sonuna gösteren özel bir karakter OxFF temsil.

column_id

int

Geçerli anahtar sözcüğü tam metin dizini olduğu sütun kimliği.

document_id

int

Belgeyi veya satırı geçerli terimi tam metin dizini olduğu kimliği.Bu kimlik, belge veya satır tam metin anahtar değerine karşılık gelir.

occurrence_count

int

Belgeyi veya satırı ile gösterilen geçerli anahtar sözcük oluşumlarını sayısı document_id.

Açıklamalar

Tarafından döndürülen bilgiler sys.dm_fts_index_keywords_by_document başka şeyler arasında aşağıdaki bulmak için yararlıdır:

  • Tam metin dizini içeren anahtar sözcükler toplam sayısı.

  • Bir anahtar sözcük verilen belgeyi veya satırı bir parçası olup olmadığı.

  • Kaç kez bir anahtar sözcük tüm tam metin dizininde görünür; yani:

    (Toplam(occurrence_count) burada anahtar sözcük=keyword_value )

  • Kaç kez bir anahtar sözcük verilen belge veya satır görünür.

  • Kaç anahtar sözcükler verilen belgeyi veya satırı içerir.

Ayrıca, tarafından sağlanan bilgileri de kullanılabilir sys.dm_fts_index_keywords_by_document almak tüm anahtar sözcükleri ait verilen belgeyi veya satırı.

Önerildiği gibi bir tamsayı veri türü tam metin anahtarsütun olduğunda, document_id temel tablotam metin anahtar değerine doğrudan eşleştirir.

Buna karşılık, tam metin anahtarsütun kullandığında bir tamsayı olmayan veri türü document_id temel tablotam metin anahtar temsil etmiyor. Tarafından döndürülen temel tablo satırı belirlemek için bu durum, dm_fts_index_keywords_by_document, birleştirmek sonuçlar Bu görünümle döndürdüğü için gereksinim duyduğunuz sp_fulltext_keymappings.birleştirmek önce bunları, geçici tabloçıktı saklı yordam saklamak gerekir.Sonra birleştirmek kullanabilirsiniz document_idsütun dm_fts_index_keywords_by_document ile DocIdBu saklı yordamtarafından döndürülensütun . Unutmayın bir timestamp sütun , değerleri Ekle saatalamıyorsunuz, çünkü bunlar otomatik oluşturulan tarafından SQL Server.Bu nedenle, timestamp sütun dönüştürülmüş, için varbinary(8) sütunlar.Aşağıdaki örnek, aşağıdaki adımları gösterir.Bu örnekte, table_id tablo, kimliği veritabanı_adı , veritabanı adı ve table_name tabloadıdır.

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

İzinler

Full-Text catalog oluşturma izinleri ve tam metin dizin tarafından kapsadığı sütunların select izni gerektirir.

Örnekler

A.Belge düzeytam metin dizini içeriği görüntüleme

Aşağıdaki örnek belge düzey tam metin dizini içeriği görüntüler HumanResources.JobCandidate tablo AdventureWorks2008R2 örnek veritabanı.

Not

Bu dizin için sağlanan örnek yürüterek oluşturmak HumanResources.JobCandidate tablo Full-Text Index (Transact-SQL) oluştur.

SELECT * FROM sys.dm_fts_index_keywords_by_document(db_id('AdventureWorks2008R2'), 
object_id('HumanResources.JobCandidate'));
GO