UBAH DAFTAR PROPERTI PENCARIAN (Transact-SQL)
Berlaku untuk:SQL ServerAzure SQL Managed Instance
Menambahkan properti pencarian tertentu ke, atau menghilangkannya dari daftar properti pencarian yang ditentukan.
Sintaksis
ALTER SEARCH PROPERTY LIST list_name
{
ADD 'property_name'
WITH
(
PROPERTY_SET_GUID = 'property_set_guid'
, PROPERTY_INT_ID = property_int_id
[ , PROPERTY_DESCRIPTION = 'property_description' ]
)
| DROP 'property_name'
}
;
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
list_name
Adalah nama daftar properti yang diubah. list_name adalah pengidentifikasi.
Untuk melihat nama daftar properti yang ada, gunakan tampilan katalog sys.registered_search_property_lists , sebagai berikut:
SELECT name FROM sys.registered_search_property_lists;
ADD
Menambahkan properti pencarian tertentu ke daftar properti yang ditentukan oleh list_name. Properti terdaftar untuk daftar properti pencarian . Sebelum properti yang baru ditambahkan dapat digunakan untuk pencarian properti, indeks teks lengkap atau indeks terkait harus diisi ulang. Untuk informasi selengkapnya, lihat ALTER FULLTEXT INDEX (Transact-SQL).
Catatan
Untuk menambahkan properti pencarian tertentu ke daftar properti pencarian, Anda harus menyediakan GUID set properti (property_set_guid) dan ID int properti (property_int_id). Untuk informasi selengkapnya, lihat "Mendapatkan GUIDS dan Pengidentifikasi Kumpulan Properti," nanti dalam topik ini.
property_name
Menentukan nama yang akan digunakan untuk mengidentifikasi properti dalam kueri teks lengkap. property_name harus mengidentifikasi properti secara unik dalam kumpulan properti. Nama properti dapat berisi spasi internal. Panjang maksimum property_name adalah 256 karakter. Nama ini bisa berupa nama yang mudah digunakan, seperti Penulis atau Alamat Rumah, atau bisa menjadi nama kanonis Windows properti, seperti System.Author atau System.Contact.HomeAddress.
Pengembang harus menggunakan nilai yang Anda tentukan untuk property_name untuk mengidentifikasi properti dalam predikat CONTAINS . Oleh karena itu, saat menambahkan properti, penting untuk menentukan nilai yang secara bermakna mewakili properti yang ditentukan oleh GUID set properti yang ditentukan (property_set_guid) dan pengidentifikasi properti (property_int_id). Untuk informasi selengkapnya tentang nama properti, lihat "Komentar," nanti dalam topik ini.
Untuk menampilkan nama properti yang saat ini ada dalam daftar properti pencarian database saat ini, gunakan tampilan katalog sys.registered_search_properties , sebagai berikut:
SELECT property_name FROM sys.registered_search_properties;
PROPERTY_SET_GUID ='property_set_guid'
Menentukan pengidentifikasi properti yang diatur ke tempat properti berada. Ini adalah pengidentifikasi unik global (GUID). Untuk informasi tentang mendapatkan nilai ini, lihat "Komentar," nanti dalam topik ini.
Untuk melihat GUID kumpulan properti apa pun yang ada dalam daftar properti pencarian database saat ini, gunakan tampilan katalog sys.registered_search_properties , sebagai berikut:
SELECT property_set_guid FROM sys.registered_search_properties;
PROPERTY_INT_ID =property_int_id
Menentukan bilangan bulat yang mengidentifikasi properti dalam kumpulan propertinya. Untuk informasi tentang mendapatkan nilai ini, lihat "Komentar."
Untuk melihat pengidentifikasi bilangan bulat dari properti apa pun yang ada dalam daftar properti pencarian database saat ini, gunakan tampilan katalog sys.registered_search_properties , sebagai berikut:
SELECT property_int_id FROM sys.registered_search_properties;
Catatan
Kombinasi property_set_guid dan property_int_id tertentu harus unik dalam daftar properti pencarian. Jika Anda mencoba menambahkan kombinasi yang ada, operasi ALTER SEARCH PROPERTY LIST gagal dan mengeluarkan kesalahan. Ini berarti Bahwa Anda hanya dapat menentukan satu nama untuk properti tertentu.
PROPERTY_DESCRIPTION ='property_description'
Menentukan deskripsi properti yang ditentukan pengguna. property_description adalah string hingga 512 karakter. Opsi ini bersifat opsional.
DROP
Menghilangkan properti yang ditentukan dari daftar properti yang ditentukan oleh list_name. Menjatuhkan properti membatalkan pendaftarannya, sehingga tidak lagi dapat dicari.
Keterangan
Setiap indeks teks lengkap hanya dapat memiliki satu daftar properti pencarian.
Untuk mengaktifkan kueri pada properti pencarian tertentu, Anda harus menambahkannya ke daftar properti pencarian indeks teks lengkap lalu mengisi ulang indeks.
Saat menentukan properti, Anda dapat mengatur klausa PROPERTY_SET_GUID, PROPERTY_INT_ID, dan PROPERTY_DESCRIPTION dalam urutan apa pun, sebagai daftar yang dipisahkan koma dalam tanda kurung, misalnya:
ALTER SEARCH PROPERTY LIST CVitaProperties
ADD 'System.Author'
WITH (
PROPERTY_DESCRIPTION = 'Author or authors of a given document.',
PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9',
PROPERTY_INT_ID = 4
);
Catatan
Contoh ini menggunakan nama properti, System.Author
, yang mirip dengan konsep nama properti kanonis yang diperkenalkan di Windows Vista (nama kanonis Windows).
Mendapatkan Nilai Properti
Pencarian teks lengkap memetakan properti pencarian ke indeks teks lengkap dengan menggunakan GUID kumpulan properti dan ID bilangan bulat propertinya. Untuk informasi tentang cara mendapatkan ini untuk properti yang telah ditentukan oleh Microsoft, lihat Menemukan GUID Kumpulan Properti dan ID Bilangan Bulat Properti untuk Properti Pencarian. Untuk informasi tentang properti yang ditentukan oleh vendor perangkat lunak independen (ISV), lihat dokumentasi vendor tersebut.
Membuat Properti Yang Ditambahkan Dapat Dicari
Menambahkan properti pencarian ke daftar properti pencarian mendaftarkan properti . Properti yang baru ditambahkan dapat segera ditentukan dalam kueri CONTAINS . Namun, kueri teks lengkap yang dicakup properti pada properti yang baru ditambahkan tidak akan mengembalikan dokumen hingga indeks teks lengkap terkait diisi ulang. Misalnya, kueri cakupan properti berikut pada properti yang baru ditambahkan, new_search_property, tidak akan mengembalikan dokumen apa pun sampai indeks teks lengkap yang terkait dengan tabel target (table_name) diisi ulang:
SELECT column_name
FROM table_name
WHERE CONTAINS( PROPERTY( column_name, 'new_search_property' ),
'contains_search_condition');
GO
Untuk memulai populasi penuh, gunakan pernyataan ALTER FULLTEXT INDEX (Transact-SQL) berikut:
USE database_name;
GO
ALTER FULLTEXT INDEX ON table_name START FULL POPULATION;
GO
Catatan
Repopulasi tidak diperlukan setelah properti dihilangkan dari daftar properti, karena hanya properti yang tersisa dalam daftar properti pencarian yang tersedia untuk kueri teks lengkap.
Referensi Terkait
Untuk membuat daftar properti
Untuk menghilangkan daftar properti
Untuk menambahkan atau menghapus daftar properti pada indeks teks lengkap
Untuk menjalankan populasi pada indeks teks lengkap
Izin
Memerlukan izin CONTROL pada daftar properti.
Contoh
J. Menambahkan properti
Contoh berikut menambahkan beberapa properti-Title
, , dan Tags
-ke daftar properti bernama DocumentPropertyList
Author
.
Catatan
Untuk contoh yang membuat DocumentPropertyList
daftar properti, lihat MEMBUAT DAFTAR PROPERTI PENCARIAN (Transact-SQL).
ALTER SEARCH PROPERTY LIST DocumentPropertyList
ADD 'Title'
WITH ( PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', PROPERTY_INT_ID = 2,
PROPERTY_DESCRIPTION = 'System.Title - Title of the item.' );
ALTER SEARCH PROPERTY LIST DocumentPropertyList
ADD 'Author'
WITH ( PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', PROPERTY_INT_ID = 4,
PROPERTY_DESCRIPTION = 'System.Author - Author or authors of the item.' );
ALTER SEARCH PROPERTY LIST DocumentPropertyList
ADD 'Tags'
WITH ( PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', PROPERTY_INT_ID = 5,
PROPERTY_DESCRIPTION =
'System.Keywords - Set of keywords (also known as tags) assigned to the item.' );
Catatan
Anda harus mengaitkan daftar properti pencarian tertentu dengan indeks teks lengkap sebelum menggunakannya untuk kueri dengan cakupan properti. Untuk melakukannya, gunakan pernyataan ALTER FULLTEXT INDEX dan tentukan klausa SET SEARCH PROPERTY LIST.
B. Menjatuhkan properti
Contoh berikut menghilangkan Comments
properti dari DocumentPropertyList
daftar properti.
ALTER SEARCH PROPERTY LIST DocumentPropertyList
DROP 'Comments' ;
Lihat Juga
BUAT DAFTAR PROPERTI PENCARIAN (Transact-SQL)
DROP SEARCH PROPERTY LIST (Transact-SQL)
sys.registered_search_properties (T-SQL)
sys.registered_search_property_lists (T-SQL)
sys.dm_fts_index_keywords_by_property (T-SQL)
Cari Properti Dokumen dengan Daftar Properti Pencarian
Menemukan GUID Set Properti dan ID Bilangan Bulat Properti untuk Properti Pencarian
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk