Sp_fulltext_keymappingstable_id (Transact-sql)

Belge tanımlayıcılar eşlemeleri döndürür (DocIds) ve tam metin anahtar değerleri. DocIdSütun değerlerini içeren bir bigintbelirli bir tam metin anahtar değeri tam metin dizini oluşturulmuş tablo eşleştirir tamsayı. DocIdbir arama koşulu karşılayan değerleri tam metin motoru sorgulanan temel tablodan nerede onlar tam metin anahtar değerleri için eşlenen veritabanı altyapısı aktarılır. Tabloya bir sütun üzerinde gereken benzersiz dizini tam metin anahtar sütunu olduğunu.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

sp_fulltext_keymappings { table_id | table_id, docid | table_id, NULL, key }

Parametreler

  • table_id
    Tam metin dizini oluşturulmuş tablo nesne kimliği olduğunu. Geçersiz bir belirtirseniz table_id, bir hata döndürdü. Tablo nesne Kımlığı edinme hakkında daha fazla bilgi için bkz: OBJECT_ID (Transact-sql).

  • docid
    Iç belge tanımlayıcısı (DocId) anahtar değeri karşılık gelen. Geçersiz bir dociddeğerini döndürür sonuç yok.

  • key
    Tam metin anahtar belirtilen tablodan değerdir. Geçersiz bir keydeğerini döndürür sonuç yok. Tam metin anahtar değerleri hakkında daha fazla bilgi için bkz: Tam metin dizinlerini yönetme.

Önemli notÖnemli

Birini kullanma hakkında daha fazla bilgi için iki ya da üç parametre, "Uyarılar" bkz. Bu konudaki.

Dönüş Kodu Değerleri

Yok.

Sonuç Kümeleri

Sütun adı

Veri türü

Açıklama

DocId

bigint

Iç belge tanımlayıcısı (DocId) anahtar değeri karşılık gelen sütun.

Key

*

Tam metin anahtar belirtilen tablodan değerdir.

Yok tam metin anahtarları eşleştirme tablosunda yoksa, boş bir satır kümesi döndürülür.

* Veri türü için Keyaynı veri türü temel tablo tam metin anahtar sütunu olarak.

İzinler

Bu işlev, ortak ve herhangi bir özel izin gerekmez.

Açıklamalar

Aşağıdaki tabloda, bir, iki ya da üç parametre kullanarak etkisini açıklar.

Bu parametre listesi

Bu sonuç vardır

table_id

İle yalnızca çağrıldığında table_idparametresi sp_fulltext_keymappingstüm tam metin anahtarını döndürür (Key) belirtilen temel tablo, along with her anahtarına karşılık gelen DocId değerleri. Bu silme anahtarları içerir.

Bu işlev, çeşitli konularda sorun giderme için yararlıdır. Seçili tam metin anahtarını bir tamsayı veri türünde değilse, tam metin dizini içeriği görmek için özellikle yararlıdır. Bu sonuçları katılmadan içerir sp_fulltext_keymappingswith the results of sys.dm_fts_index_keywords_by_document. Daha fazla bilgi için, bkz. sys.dm_fts_index_keywords_by_documentbir (Transact-sql).

Genel olarak, ancak, mümkünse, sen idam, öneririz sp_fulltext_keymappingsbelirli bir tam metin veya DocId belirtmek parametrelerle. Bu özellikle tüm anahtar harita döndürme performans maliyeti önemli olabilir çok büyük bir tablo için tüm bir anahtar harita döndürme daha çok daha verimli olur.

table_id, docid

Keşke table_idve docidbelirtilen, docidnonNULL ve belirtilen tablodaki geçerli DocId belirtmek gerekir. Bu işlev, özel belirli bir tam metin dizin DocId için karşılık gelen temel tablo tam metin anahtarını belirlemek yararlıdır.

table_id, NULL, key

Üç parametre varsa, ikinci parametre null olmalıdır ve keynonNULL ve belirtilen tablodaki geçerli tam metin anahtar değeri belirtmeniz gerekir. Bu işlev, belirli bir tam metin anahtar karşılık temel tablo DocId yalıtma yararlıdır.

Hata, aşağıdaki koşullardan herhangi biri altında verilir:

  • Geçersiz bir belirleme table_id.

  • Tablo tam metin dizini değil.

  • NonNULL olabilecek bir parametre null karşılaşıldığında

Örnekler

[!NOT]

Bu örnekler bölümünde kullanım Production.ProductReviewtablo AdventureWorks2012örnek veritabanı. Sen-ebilmek yaratmak bu dizin için sağlanan örnek yürüterek ProductReviewtablo fulltext INDEX (Transact-sql) oluştur.

A.Tüm anahtar ve DocId değerleri edinme

Aşağıdaki örnek bir declare yerel bir değişken oluşturmak için deyimi @table\_idve kimliği atamak için ProductReviewdeğeri olarak tablo. Örnek yürütür sp_fulltext_keymappingsbelirtme @table\_idiçin table_idparametresi.

[!NOT]

Kullanarak sp_fulltext_keymappingssadece table_idparametresi küçük tablolar için uygun.

USE AdventureWorks2012;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id;
GO

USE AdventureWorks2012;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id;
GO

Bu örnekte tüm DocIds ve tam metin anahtarları tablosundan şöyle döndürür:

docid

key

1

1

1

2

2

2

3

3

3

4

4

4

B.Belirli bir anahtar değerin DocId değerini elde etme

Aşağıdaki örnek, yerel bir değişken oluşturmak için bir declare deyimi kullanır @table\_idve kimliği atamak için ProductReviewTablo değeri olarak. Örnek yürütür sp_fulltext_keymappingsbelirtme @table\_idiçin table_idparametresi için null docidparametre ve 4 keyparametresi.

[!NOT]

Kullanarak sp_fulltext_keymappingssadece table_idparametresiküçük tablolar için uygundur.

USE AdventureWorks2012;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id, NULL, 4;
GO

USE AdventureWorks2012;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id, NULL, 4;
GO

Bu örnek, aşağıdaki sonuçları verir.

docid

key

4

4

4

Ayrıca bkz.

Başvuru

Tam metin arama ve semantik arama depolanan yordamlar (Transact-sql)