Share via


sys.dm_fts_index_keywords_by_document (Transact-SQL)

Belirtilen tablo için bir tam metin dizini belge düzeyinde içeriği hakkında bilgi verir.Belirli BIR anahtar sözcük, çeşitli belgelerde görünebilir.

sys.dm_fts_index_keywords_by_document olan bir dinamik yönetim işlevi.

Not

Anahtar sözcük düzeyinde, üst düzey tam metin dizin bilgileri görüntülemek için kullanın sys.dm_fts_index_keywords (Transact-SQL) Dinamik yönetim işlev.

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 belirtilen veritabanını bulmak için hangi sys.dm_fts_index_keywords_by_document kullanan veritabanı KIMLIĞI döndürür.If database_name olan belirtilmezse, geçerli veritabanı KIMLIK döndürdü.

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

Dönen Tablo

Sütun

Veri türü

Açıklama

anahtar sözcük

nvarchar(8000)

Tam metin dizini içinde depolanan anahtar onaltılı gösterimi.

NoteNote:
OxFF sonuna bir dosya veya dataset gösteren özel (special) karakteri temsil eder.

display_term

nvarchar(8000)

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

NoteNote:
OxFF sonuna bir dosya veya dataset gösteren özel (special) karakteri temsil eder.

column_id

int

Geçerli anahtar sözcüğü tam metin dizini olduğu sütun KIMLIĞI.

document_id

int

Belge veya satır geçerli teriminin tam metin dizini olduğu KIMLIĞI.Bu, tam metin anahtar değerine bu belgeyi veya satırı karşılık gelir.

occurrence_count

int

Yinelenme anahtar sözcüğü geçerli belge veya satır belirtilir document_id.

Remarks

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

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

  • Anahtar sözcük, belirli bir belge veya satır parçası olup olmadığı.

  • Anahtar sözcük tüm tam-metin görünür kaç kez dizin; yani:

    (TOPLAM(occurrence_count) WHERE anahtar sözcük=keyword_value )

  • Kaç kez bir anahtar sözcük, belirli bir belge veya satır görüntülenir.

  • Kaç anahtar belirli bir belge veya satır içerir.

Ayrıca, sys.dm_fts_index_keywords_by_document tarafından sağlanan bilgileri belirli bir belge veya satır için ait tüm anahtar sözcükleri almak için de kullanılabilir.

Doğrudan tam metin anahtar değeri temel tablonun tam metin anahtar sütun bir tamsayı veri türü, önerilen şekilde, document_id eşleştirir.

Tam metin anahtar sütun bir tamsayı olmayan bir veri türü kullandığında, buna karşılık, document_id tam metin anahtarını göstermiyor temel tablo.Temel satırda tanımlamak için bu durumda tablo dm_fts_index_keywords_by_document tarafından döndürülen, döndürülen sonuçlar ile bu görünümü katılmak gerekir sp_fulltext_keymappings.Katılmak önce bir temp saklı yordam çıkış depolamalısınız tablo.Sonra bu saklı yordam tarafından döndürülen DocId sütunuyla dm_fts_index_keywords_by_document document_id sütun katılabilirsiniz.Dikkat bir timestamp Otomatik oluşturulan tarafından oldukları için sütun değerleri ekleme anda alamıyor SQL Server. Bu nedenle, timestamp sütun için dönüştürülmesi varbinary(8) sütunlar. Aşağıdaki örnek, aşağıdaki adımları gösterir.Bu örnekte, tablo _id kimliğidir sizin tablo, veritabanı_adı ve veritabanının adıdırtablo _name adıdır, tablo.

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

CREATE FULLTEXT CATALOG izinleri ve tam metin dizin tarafından kapsanan sütunların SELECT izni gerektirir.

Örnekler

C.Tam metin dizini içeriği altında belge görüntüleme düzey

Aşağıdaki örnek, belge düzeyinde tam metin dizini içeriğini görüntüler HumanResources.JobCandidate tablo, AdventureWorks Örnek Veritabanı'nı tıklatın.

Not

Bu dizin için sağlanan örnek yürüterek oluşturabileceğiniz HumanResources.JobCandidate Tablo FULLTEXT INDIS (Transact-SQL) CREATE.

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