sys.dm_fts_index_keywords_by_documentbir (Transact-sql)

Belirtilen tablo ile ilişkili tam metin dizini belge düzeyinde içeriği hakkında bilgi verir.

sys.dm_fts_index_keywords_by_documentdinamik yönetimi işlevdir.

Üst düzey tam metin dizin bilgilerini görüntülemek için

İlgili bir belge özelliği özelliği düzeyi içeriği hakkında bilgi görüntülemek için

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şlevi. Bu işlev, bir veritabanı adı kabul eder ve veritabanı Kımlığı döndürür, sys.dm_fts_index_keywords_by_documentBelirtilen veritabanı bulmak için kullanır. Eğer database_nameise ihmal, geçerli veritabanı Kımlığı döndü.

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

Dönen Tablo

Sütun

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 veya veri kümesi sonuna gösteren özel bir karakter OxFF temsil eder.

display_term

nvarchar(4000)

Anahtar kelime okunabilir biçimi. Bu biçim tam metin dizini içinde depolanan iç biçimi türetilir.

NotNot
Bir dosya veya veri kümesi sonuna gösteren özel bir karakter OxFF temsil eder.

column_id

int

Geçerli anahtar sözcüğü tam metin dizini olan sütun Kımlığı.

document_id

int

Belge veya geçerli dönem tam metin dizini olan satır Kımlığı. Bu kimlik, belge veya satır tam metin anahtar değerine karşılık gelir.

occurrence_count

int

Belge veya tarafından belirtilen satır geçerli anahtar sözcük oluşumlarını document_id. Ne zaman 'search_property_name' belirtilen occurrence_countyalnızca geçerli anahtar sözcüğü geçtiği belge veya satır belirtilen arama özelliğinde görüntüler.

Açıklamalar

Tarafından döndürülen bilgiler sys.dm_fts_index_keywords_by_documentbaş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 kelime tüm tam metin dizini içinde görünür; Yani:

    (Toplam(occurrence_count) NEREYE kelime=keyword_value )

  • Kaç kez bir anahtar kelime bir verilen belgeyi veya satırı görüntülenir.

  • Kaç anahtar kelimeler verilen belgeyi veya satırı içerir.

Ayrıca, aynı zamanda sağladığı bilgileri kullanabilirsiniz sys.dm_fts_index_keywords_by_documentbir verilen belgeyi veya satırı ait tüm anahtar kelimeleri almak için.

Zaman tam metin anahtar sütunu bir tamsayı veri türü olarak önerilen, document_idharitalar doğrudan temel tablo tam metin anahtar değeri için.

Buna karşılık, tam metin anahtar sütunu kullandığında bir tamsayı olmayan veri türü, document_idtemel tablo tam metin anahtarını temsil etmiyor. Bu durumda, tarafından döndürülen temel tablo satırı tanımlamak için dm_fts_index_keywords_by_document, bu görünüm tarafından döndürülen sonuçları ile katılmak gerekir Sp_fulltext_keymappingstable_id. Önce onlara katılabilir, geçici tablo içinde saklı yordam çıkış saklamanız gerekir. O zaman size katılabilir document_idsütununda dm_fts_index_keywords_by_documentile DocIdBu tarafından döndürülen sütun depolanan yordamı. Not bir timestampçünkü onlar tarafından otomatik olarak oluşturulan sütun değerleri ekle zaman alamaz SQL Server. Bu nedenle, timestampsütun dönüştürülmelidir varbinary(8)sütun. Aşağıdaki örnek, aşağıdaki adımları gösterir. Bu örnekte, table_idtablonuzu, kimliğidir database_name, veritabanı adıdır ve table_name, tablonun adı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

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 dizini kapsadığı sütunların select izni gerektirir.

Örnekler

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

Aşağıdaki örnek, belge düzeyinde tam metin dizini içeriği görüntüler. HumanResources.JobCandidatetablo AdventureWorksörnek veritabanı.

[!NOT]

Sen-ebilmek yaratmak bu dizin için sağlanan örnek yürüterek HumanResources.JobCandidatetablo fulltext INDEX (Transact-sql) oluştur.

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

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

Ayrıca bkz.

Başvuru

Tam metin arama ve semantik arama dinamik yönetimi görünümler ve işlevler (Transact-sql)

sys.dm_fts_index_keywords (Transact-sql)

sys.dm_fts_index_keywords_by_property (Transact-sql)

Sp_fulltext_keymappingstable_id (Transact-sql)

Kavramlar

Tam metin araması (SQL Server)

Tam metin dizinlerini performansını