sys.dm_fts_index_keywords_by_property (T-SQL)
Berlaku untuk: SQL Server
Mengembalikan semua konten terkait properti dalam indeks teks lengkap tabel tertentu. Ini termasuk semua data milik properti apa pun yang terdaftar oleh daftar properti pencarian yang terkait dengan indeks teks lengkap tersebut.
sys.dm_fts_index_keywords_by_property adalah fungsi manajemen dinamis yang memungkinkan Anda melihat properti terdaftar apa yang dipancarkan oleh IFilters pada waktu indeks, serta konten yang tepat dari setiap properti di setiap dokumen terindeks.
Untuk menampilkan semua konten tingkat dokumen (termasuk konten terkait properti)
Untuk melihat informasi indeks teks lengkap tingkat lebih tinggi
Catatan
Untuk informasi tentang daftar properti pencarian, lihat Properti Dokumen Pencarian dengan Daftar Properti Pencarian.
Sintaks
sys.dm_fts_index_keywords_by_property
(
DB_ID('database_name'),
OBJECT_ID('table_name')
)
Argumen
db_id('database_name')
Panggilan ke fungsi DB_ID(). Fungsi ini menerima nama database dan mengembalikan ID database, yang sys.dm_fts_index_keywords_by_property gunakan untuk menemukan database yang ditentukan. Jika database_name dihilangkan, ID database saat ini dikembalikan.
object_id('table_name')
Panggilan ke fungsi OBJECT_ID(). Fungsi ini menerima nama tabel dan mengembalikan ID tabel tabel yang berisi indeks teks lengkap untuk diperiksa.
Tabel Dikembalikan
Kolom | Jenis data | Deskripsi |
---|---|---|
kata kunci | nvarchar(4000) | Representasi heksadesimal dari kata kunci yang disimpan di dalam indeks teks lengkap. Catatan: OxFF mewakili karakter khusus yang menunjukkan akhir file atau himpunan data. |
display_term | nvarchar(4000) | Format kata kunci yang dapat dibaca manusia. Format ini berasal dari format internal yang disimpan dalam indeks teks lengkap. Catatan: OxFF mewakili karakter khusus yang menunjukkan akhir file atau himpunan data. |
column_id | int | ID kolom tempat kata kunci saat ini diindeks teks lengkap. |
document_id | int | ID dokumen atau baris tempat istilah saat ini diindeks teks lengkap. ID ini sesuai dengan nilai kunci teks lengkap dokumen atau baris tersebut. |
property_id | int | ID properti internal properti pencarian dalam indeks teks lengkap tabel yang Anda tentukan dalam parameter OBJECT_ID('table_name'). Ketika properti tertentu ditambahkan ke daftar properti pencarian, Mesin Teks-Penuh mendaftarkan properti dan menetapkannya ID properti internal yang khusus untuk daftar properti tersebut. ID properti internal, yang merupakan bilangan bulat, unik untuk daftar properti pencarian tertentu. Jika properti tertentu terdaftar untuk beberapa daftar properti pencarian, ID properti internal yang berbeda mungkin ditetapkan untuk setiap daftar properti pencarian. Catatan: ID properti internal berbeda dari pengidentifikasi bilangan bulat properti yang ditentukan saat menambahkan properti ke daftar properti pencarian. Untuk informasi selengkapnya, lihat Properti Dokumen Pencarian dengan Daftar Properti Pencarian. Untuk melihat kaitan antara property_id dan nama properti: sys.registered_search_properties (T-SQL) |
Keterangan
Tampilan manajemen dinamis ini dapat menjawab pertanyaan seperti berikut ini:
Konten apa yang disimpan pada properti tertentu untuk DocID tertentu?
Seberapa umum properti tertentu di antara dokumen terindeks?
Dokumen apa yang sebenarnya berisi properti tertentu? Ini berguna jika kueri pada properti pencarian tertentu tidak mengembalikan dokumen yang anda harapkan untuk ditemukan.
Saat kolom kunci teks lengkap adalah jenis data bilangan bulat, seperti yang disarankan, document_id memetakan langsung ke nilai kunci teks lengkap dalam tabel dasar.
Sebaliknya, ketika kolom kunci teks lengkap menggunakan jenis data non-bilangan bulat, document_id tidak mewakili kunci teks lengkap dalam tabel dasar. Dalam hal ini, untuk mengidentifikasi baris dalam tabel dasar yang dikembalikan oleh dm_fts_index_keywords_by_property, Anda perlu menggabungkan tampilan ini dengan hasil yang dikembalikan oleh sp_fulltext_keymappings. Sebelum dapat menggabungkannya, Anda harus menyimpan output prosedur tersimpan dalam tabel sementara. Kemudian Anda dapat menggabungkan kolom document_id dm_fts_index_keywords_by_property dengan kolom DocId yang dikembalikan oleh prosedur tersimpan ini. Perhatikan bahwa kolom tanda waktu tidak dapat menerima nilai pada waktu penyisipan, karena dibuat secara otomatis oleh SQL Server. Oleh karena itu, kolom tanda waktu harus dikonversi ke kolom varbinary(8 ). Contoh berikut menunjukkan langkah-langkah ini. Dalam contoh ini, table_id adalah ID tabel Anda, database_name adalah nama database Anda, dan table_name adalah nama tabel Anda.
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_property
( @db_id, @table_id ) kbd
INNER JOIN #MyTempTable tt ON tt.[docid]=kbd.document_id;
GO
Izin
Memerlukan izin SELECT pada kolom yang dicakup oleh indeks teks lengkap dan izin CREATE FULLTEXT CATALOG.
Contoh
Contoh berikut mengembalikan kata kunci dari Author
properti dalam indeks Production.Document
teks lengkap tabel AdventureWorks
database sampel. Contoh menggunakan alias KWBPOP
untuk tabel yang dikembalikan oleh sys.dm_fts_index_keywords_by_property. Contoh menggunakan gabungan dalam untuk menggabungkan kolom dari sys.registered_search_properties dan sys.fulltext_indexes.
-- Once the full-text index is configured to support property searching
-- on the Author property, return any keywords indexed for this property.
USE AdventureWorks2022;
GO
SELECT KWBPOP.* FROM
sys.dm_fts_index_keywords_by_property( DB_ID(),
object_id('Production.Document') ) AS KWBPOP
INNER JOIN
sys.registered_search_properties AS RSP ON(
(KWBPOP.property_id = RSP.property_id)
AND (RSP.property_name = 'Author') )
INNER JOIN
sys.fulltext_indexes AS FTI ON(
(FTI.[object_id] = object_id('Production.Document'))
AND (RSP.property_list_id = FTI.property_list_id) );
GO
Lihat Juga
Pencarian Teks Lengkap
Meningkatkan Performa Indeks Teks Lengkap
sp_fulltext_keymappings (T-SQL)
sys.dm_fts_index_keywords_by_document (T-SQL)
sys.dm_fts_index_keywords (T-SQL)
sys.registered_search_properties (T-SQL)
sys.registered_search_property_lists (T-SQL)
Cari Properti Dokumen dengan Daftar Properti Pencarian