Aracılığıyla paylaş


sp_fulltext_keymappings (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 bigint tam metin belli tam metin anahtar değeri eşleştirir tamsayı dizini tablo.DocIdarama koşulu karşılayan değerleri sorgulanan temel tablo için tam metin anahtar değerleri burada eşleştirildikleri veritabanı motoru tam metin Engine iletilir.Tam metin anahtarsütun bir sütun tabloüzerinde gerekli bir benzersiz dizin numarasıdır.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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

Parametreler

  • table_id
    tablonesne kimliği tam metin dizini olur.Geçersiz bir belirtirseniz, table_id, bir hata döndürdü.Bir tablonesne kimliği alma hakkında daha fazla bilgi için bkz: OBJECT_ID (Transact-SQL).

  • docid
    Bir iç belge tanımlayıcısı (DocId), karşılık gelen anahtar değer.Geçersiz bir docid değerini döndürür sonuçlar.Belge tanımlayıcılar hakkında daha fazla bilgi için bkz: Tam metin dizin yapısı.

  • key
    Belirtilen tablotam metin anahtar değerdir.Geçersiz bir key değerini döndürür sonuçlar.Tam metin anahtar değerleri hakkında daha fazla bilgi için bkz: Nasıl yapılır: Tam metin anahtar sütunu (Transact-sql) hakkında sorgulama.

Önemli notÖnemli

Kullanma hakkında daha fazla bilgi için "Uyarılar" iki ya da üç parametre bakın Bu konuda daha sonra.

Dönüş Kodu Değerleri

Yok.

Sonuç Kümeleri

Sütun adı

Veri türü

Açıklama

DocId

bigint

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

Key

*

Belirtilen tablotam metin anahtar değerdir.

Tam metin anahtar eşleştirme tabloyoksa, boş bir satır kümesi döndürülür.

* Veri türü için Key veri türü olarak aynı tam metin anahtar sütun temel tablo.

İzinler

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

Açıklamalar

Aşağıdaki tablo , bir, iki veya üç parametrelerini kullanarak etkisini açıklar.

Bu parametre list…

Bu result… sahiptir

table_id

İle yalnızca çağrıldığında table_id parametresi sp_fulltext_keymappings tüm tam metin anahtar döndürür (Key) değerleri belirtilen temel tablo, her anahtarkarşılık gelen DocId birlikte.Bu, silme anahtarları içerir.

Bu işlev , sorunları çeşitli sorun giderme için yararlıdır.Seçili tam metin anahtar bir tamsayı veri türünde değilse, tam metin dizini içeriği görmek için özellikle kullanışlıdır.Bu sonuçlar katılma içerir sp_fulltext_keymappings sonuçlar ile sys.dm_fts_index_keywords_by_document.Daha fazla bilgi için, bkz. sys.dm_fts_index_keywords_by_document (Transact-SQL).

Genel olarak, ancak, mümkünse, yürütmeköneririzsp_fulltext_keymappings parametrelerle belirli bir tam metin anahtar veya belirtinDocId. Bu tüm anahtar eşleme döndüren performans maliyetini önemli ölçüde olabilir özellikle çok büyük bir tablo için bir anahtar tüm harita dönme'den çok daha verimli olur.

table_id, docid

Yalnızca table_id ve docid belirtilmiş, docid geçirecektir ve geçerli DocId belirtilen tablobelirtmek gerekir.Bu işlev , belirli bir tam metin dizini DocId için karşılık gelen temel tablo özel tam metin anahtar yalıtmak yararlıdır.

table_id, NULL, key

Üç parametre varsa, ikinci parametre null, olmalı ve key geçirecektir ve belirtilen tablogeçerli tam metin anahtar belirtmeniz gerekir.temel tabloiçin belli bir tam metin anahtar karşılık gelen DocId yalıtma bu işlev yararlıdır.

Aşağıdaki koşullardan herhangi biri altında bir hata döndürülür:

  • Geçersiz bir belirleme table_id.

  • tablo tam metin dizini değil.

  • null olmayan bir parametre için karşılaşılan-null.

Örnekler

Not

Bu örnekler bölümünde kullanım Production.ProductReview tablo AdventureWorks2008R2 örnek veritabanı.Bu dizin için sağlanan örnek yürüterek oluşturmak ProductReview tablo Full-Text 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çindeyim @table_id ve kimliği atamak için ProductReviewtablo olarak kendi değer. Örnek yürütür sp_fulltext_keymappings belirterek @table_id için table_id parametresi.

Not

Kullanarak sp_fulltext_keymappings ile tek table_id parametresi uygun küçük tablolar.

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

Bu örnek tüm DocIds ve tam metin anahtarları tablo, aşağıdaki gibi döndürür:

docid

key

1

1

1

2

2

2

3

3

3

4

4

4

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

Aşağıdaki örnek, yerel bir değişken oluşturmak için declare deyim kullanır @table_idve kimliği atamak için ProductReview tablo olarak kendi değer.Örnek yürütür sp_fulltext_keymappings belirterek @table_id için table_id parametresi için null docid parametre ve 4 key parametresi.

Not

Kullanarak sp_fulltext_keymappings ile tek table_id parametresiuygun küçük tablolar.

USE AdventureWorks2008R2;
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çlarverir.

docid

key

4

4

4