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