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.
Not
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.
Not
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)