sp_fulltext_keymappings (T-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

Mengembalikan pemetaan antara pengidentifikasi dokumen (DocIds) dan nilai kunci teks lengkap. Kolom DocId berisi nilai untuk bilangan bulat besar yang memetakan ke nilai kunci teks lengkap tertentu dalam tabel terindeks teks lengkap. Nilai DocId yang memenuhi kondisi pencarian diteruskan dari Mesin Teks-Penuh ke Mesin Database, tempat nilai kunci teks lengkap dipetakan dari tabel dasar yang sedang dikueri. Kolom kunci teks lengkap adalah indeks unik yang diperlukan pada satu kolom tabel.

Konvensi sintaks transact-SQL

Sintaks

sp_fulltext_keymappings { table_id | table_id , docId | table_id , NULL , key }
[ ; ]

Argumen

table_id

ID objek dari tabel terindeks teks lengkap. Jika Anda menentukan table_id yang tidak valid, kesalahan akan ditampilkan. Untuk informasi tentang mendapatkan ID objek tabel, lihat OBJECT_ID (Transact-SQL).

docId

Pengidentifikasi dokumen internal (DocId) yang sesuai dengan nilai kunci. Nilai docId yang tidak valid tidak mengembalikan hasil.

kunci

Nilai kunci teks lengkap dari tabel yang ditentukan. Nilai kunci yang tidak valid tidak mengembalikan hasil. Untuk informasi tentang nilai kunci teks lengkap, lihat Mengelola Indeks Teks Lengkap.

Mengembalikan nilai kode

Tidak ada.

Tataan hasil

Nama kolom Jenis data Deskripsi
DocId bigint Kolom pengidentifikasi dokumen internal (DocId) yang sesuai dengan nilai kunci.
Key 1 Nilai kunci teks lengkap dari tabel yang ditentukan.

Jika tidak ada kunci teks lengkap dalam tabel pemetaan, set baris kosong akan dikembalikan.

1 Jenis data untuk Kunci sama dengan jenis data kolom kunci teks lengkap dalam tabel dasar.

Izin

Fungsi ini bersifat publik dan tidak memerlukan izin khusus.

Keterangan

Tabel berikut ini menjelaskan efek penggunaan satu, dua, atau tiga parameter.

Daftar parameter ini... Memiliki hasil ini...
table_id Saat dipanggil hanya dengan parameter table_id , sp_fulltext_keymappings mengembalikan semua nilai kunci teks lengkap (Kunci) dari tabel dasar yang ditentukan, bersama dengan DocId yang sesuai dengan setiap kunci. Ini termasuk kunci yang tertunda penghapusannya.

Fungsi ini berguna untuk memecahkan berbagai masalah. Ini berguna untuk melihat konten indeks teks lengkap saat kunci teks lengkap yang dipilih bukan dari jenis data bilangan bulat. Ini melibatkan bergabung dengan hasil sp_fulltext_keymappings dengan hasil sys.dm_fts_index_keywords_by_document. Untuk informasi selengkapnya, lihat sys.dm_fts_index_keywords_by_document (Transact-SQL).

Namun, secara umum, kami menyarankan bahwa, jika memungkinkan, Anda menjalankan sp_fulltext_keymappings dengan parameter yang menentukan kunci teks lengkap atau DocId tertentu. Ini jauh lebih efisien daripada mengembalikan seluruh peta kunci, terutama untuk tabel besar yang biaya performanya mengembalikan seluruh peta kunci mungkin substansial.
table_id, docId Jika hanya table_id dan docId yang ditentukan, docId harus non-NULL dan menentukan DocId yang valid dalam tabel yang ditentukan. Fungsi ini berguna untuk mengisolasi kunci teks lengkap kustom dari tabel dasar yang sesuai dengan DocId dari indeks teks lengkap tertentu.
table_id, NULL, kunci Jika ada tiga parameter, parameter kedua harus NULL, dan kunci harus non-NULL dan menentukan nilai kunci teks lengkap yang valid dari tabel yang ditentukan. Fungsi ini berguna dalam mengisolasi DocId yang sesuai dengan kunci teks lengkap tertentu dari tabel dasar.

Kesalahan dikembalikan dalam salah satu kondisi berikut:

  • Anda menentukan table_id yang tidak valid
  • Tabel tidak diindeks teks lengkap
  • NULL ditemui untuk parameter yang mungkin non-null.

Contoh

Catatan

Contoh di bagian ini menggunakan Production.ProductReview tabel database sampel AdventureWorks2022. Anda dapat membuat indeks ini dengan menjalankan contoh yang disediakan untuk ProductReview tabel di CREATE FULLTEXT INDEX (Transact-SQL).

J. Dapatkan semua nilai Key dan DocId

Contoh berikut menggunakan pernyataan DECLARE untuk membuat variabel lokal, @table_id dan untuk menetapkan ID ProductReview tabel sebagai nilainya. Contoh menjalankan sp_fulltext_keymappings yang menentukan untuk parameter table_id@table_id.

Catatan

Hanya sp_fulltext_keymappings menggunakan parameter table_id yang cocok untuk tabel kecil.

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

Contoh ini mengembalikan semua kunci DocIds dan teks lengkap dari tabel, sebagai berikut:

TABLE docId kunci
1 1 1
2 2 2
3 3 3
4 4 4

B. Dapatkan nilai DocId untuk nilai Kunci tertentu

Contoh berikut menggunakan pernyataan DECLARE untuk membuat variabel lokal, @table_id, dan untuk menetapkan ID ProductReview tabel sebagai nilainya. Contoh menjalankan penentuan parameter table_id, NULL untuk parameter docId, dan 4 untuk parameter kunci.@table_idsp_fulltext_keymappings

Catatan

Hanya menggunakan sp_fulltext_keymappingsparameter table_id yang cocok untuk tabel kecil.

USE AdventureWorks2022;
GO

DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');

EXEC sp_fulltext_keymappings @table_id, NULL, 4;
GO

Contoh ini mengembalikan hasil berikut.

TABLE docId kunci
4 4 4