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.

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

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