Cari Properti Dokumen dengan Daftar Properti Pencarian

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Konten properti dokumen sebelumnya tidak dapat dibedakan dari isi isi dokumen. Batasan ini membatasi kueri teks lengkap untuk pencarian umum pada seluruh dokumen. Namun, sekarang, Anda dapat mengonfigurasi indeks teks lengkap untuk mendukung pencarian cakupan properti pada properti tertentu, seperti Penulis dan Judul, untuk jenis dokumen yang didukung dalam varbinary, varbinary(max) (termasuk FILESTREAM), atau kolom data biner gambar . Bentuk pencarian ini dikenal sebagai pencarian properti.

Filter terkait (IFilter) menentukan apakah pencarian properti dimungkinkan pada jenis dokumen tertentu. Untuk beberapa jenis dokumen, IFilter terkait mengekstrak beberapa atau semua properti yang ditentukan untuk jenis dokumen tersebut, serta konten isi dokumen. Anda dapat mengonfigurasi indeks teks lengkap untuk mendukung pencarian properti hanya pada properti yang diekstrak oleh IFilter selama pengindeksan teks lengkap. Di antara IFilters yang mengekstrak sejumlah properti dokumen adalah IFilters untuk jenis dokumen Microsoft Office (seperti .docx, .xlsx, dan .pptx). Di sisi lain, XML IFilter tidak memancarkan properti.

Cara Kerja Pencarian Teks Lengkap dengan Properti Pencarian

ID Properti Internal

Mesin Teks Lengkap secara segan-segan menetapkan setiap properti terdaftar ID properti internal, yang secara unik mengidentifikasi properti dalam daftar pencarian tertentu dan yang khusus untuk daftar properti pencarian tersebut. Oleh karena itu, jika properti ditambahkan ke beberapa daftar properti pencarian, ID properti internalnya kemungkinan berbeda di antara daftar yang berbeda.

Saat properti didaftarkan untuk daftar pencarian, Mesin Teks Lengkap secara segan-segan menetapkan ID properti internal ke properti . ID properti internal adalah bilangan bulat yang secara unik mengidentifikasi properti dalam daftar properti pencarian tersebut.

Ilustrasi berikut ini memperlihatkan tampilan logis daftar properti pencarian yang menentukan dua properti, Judul dan Kata Kunci. Nama daftar properti untuk Kata Kunci adalah "Tag." Properti ini termasuk dalam kumpulan properti yang sama, yang GUID-nya adalah F29F85E0-4FF9-1068-AB91-08002B27B3D9. Pengidentifikasi bilangan bulat properti adalah 2 untuk Judul dan 5 untuk Tag (Kata Kunci). Mesin Teks Lengkap secara semena-mena memetakan setiap properti ke ID properti internal yang unik untuk daftar properti pencarian. ID properti internal untuk properti Judul adalah 1, dan ID properti internal untuk properti Tag adalah 2.

Mapping of search property list to internal table

ID properti internal kemungkinan berbeda dari pengidentifikasi bilangan bulat properti properti. Jika properti tertentu terdaftar untuk beberapa daftar properti pencarian, ID properti internal yang berbeda mungkin ditetapkan untuk setiap daftar properti pencarian. Misalnya, ID properti internal mungkin 4 dalam satu daftar properti pencarian, 1 di yang lain, 3 di yang lain, dan sebagainya. Sebaliknya, pengidentifikasi bilangan bulat properti intrinsik dengan properti , dan tetap sama di mana pun properti digunakan.

Pengindeksan Properti Terdaftar

Setelah indeks teks lengkap dikaitkan dengan daftar properti pencarian, indeks harus diisi ulang ke istilah pencarian khusus properti indeks. Selama pengindeksan teks lengkap, konten semua properti disimpan dalam indeks teks lengkap bersama dengan konten lainnya. Namun, saat mengindeks istilah pencarian yang ditemukan di properti terdaftar, pengindeks teks lengkap juga menyimpan ID properti internal yang sesuai dengan istilah . Sebaliknya, jika properti tidak terdaftar, properti disimpan dalam indeks teks lengkap seolah-olah itu adalah bagian dari isi dokumen, dan memiliki nilai nol untuk ID properti internal.

Ilustrasi berikut ini memperlihatkan tampilan logis tentang bagaimana istilah pencarian muncul dalam indeks teks lengkap yang terkait dengan daftar properti pencarian yang diperlihatkan dalam ilustrasi sebelumnya. Contoh dokumen, Dokumen 1 berisi tiga properti-Judul, Penulis, dan Kata Kunci-serta isi dokumen. Untuk properti Judul dan Kata Kunci, yang ditentukan dalam daftar properti pencarian, istilah pencarian dikaitkan dengan ID properti internal terkait dalam indeks teks lengkap. Sebaliknya, konten properti Penulis diindeks seolah-olah itu adalah bagian dari isi dokumen. Ini berarti mendaftarkan properti meningkatkan ukuran indeks teks lengkap agak, tergantung pada jumlah konten yang disimpan dalam properti.

Full-text index that uses a search property list

Istilah pencarian di properti Judul-"Favorit," "Bersepeda," dan "Jejak"-dikaitkan dengan ID properti internal yang ditetapkan ke Judul untuk indeks ini, 1. Istilah pencarian dalam properti Kata Kunci-"biking" dan "gunung"-dikaitkan dengan ID properti internal yang ditetapkan ke Tag untuk indeks ini, 2. Untuk istilah pencarian n properti Penulis-"Jane" dan "Doe"-dan istilah pencarian dalam isi dokumen, ID properti internal adalah 0. Istilah "bersepeda" terjadi di properti Judul, di properti Kata Kunci (Tag), dan di isi dokumen. Pencarian properti untuk "bersepeda" di properti Judul atau Kata Kunci (Tag) akan mengembalikan dokumen ini dalam hasil. Kueri teks lengkap generik untuk "bersepeda" juga akan mengembalikan dokumen ini, seolah-olah indeks tidak dikonfigurasi untuk pencarian properti. Pencarian properti untuk "bersepeda" di properti Penulis tidak akan mengembalikan dokumen ini.

Kueri teks lengkap yang dicakup properti menggunakan ID properti internal yang terdaftar untuk daftar properti pencarian saat ini dari indeks teks lengkap.

Dampak Mengaktifkan Pencarian Properti

Mengonfigurasi indeks teks lengkap untuk mendukung pencarian pada satu atau beberapa properti meningkatkan ukuran indeks agak, tergantung pada jumlah properti yang Anda tentukan dalam daftar properti pencarian Anda dan pada konten setiap properti.

Dalam menguji korpus umum dokumen Microsoft Word, Excel, dan PowerPoint, kami mengonfigurasi indeks teks lengkap untuk mengindeks properti pencarian umum. Pengindeksan properti ini meningkatkan ukuran ukuran indeks teks lengkap sekitar 5 persen. Kami mengantisipasi bahwa perkiraan peningkatan ukuran ini akan menjadi khas untuk sebagian besar korpus dokumen. Namun, pada akhirnya, peningkatan ukuran akan tergantung pada jumlah data properti dalam korpus dokumen tertentu relatif terhadap jumlah data keseluruhan.

Membuat Daftar Properti Pencarian dan Mengaktifkan Pencarian Properti

Membuat Daftar Properti Pencarian

Untuk membuat daftar properti pencarian dengan Transact-SQL

Gunakan pernyataan CREATE SEARCH PROPERTY LIST (Transact-SQL) dan berikan setidaknya nama daftar.

Untuk membuat daftar properti pencarian di Management Studio
  1. Di Object Explorer, perluas server.

  2. Perluas Database, lalu perluas database tempat Anda ingin membuat daftar properti pencarian.

  3. Perluas Penyimpanan, lalu klik kanan Daftar Properti Pencarian.

  4. Pilih Daftar Properti Pencarian Baru.

  5. Tentukan nama daftar properti.

  6. Secara opsional, tentukan orang lain sebagai pemilik daftar properti.

  7. Pilih salah satu opsi berikut ini:

    • Membuat daftar properti pencarian kosong

    • Membuat dari daftar properti pencarian yang sudah ada

    Untuk informasi selengkapnya, lihat Daftar Properti Pencarian Baru.

  8. PilihOK.

Menambahkan Properti ke Daftar Properti Pencarian

Pencarian properti memerlukan pembuatan daftar properti pencarian dan menentukan satu atau beberapa properti yang ingin Anda cari. Saat Anda menambahkan properti ke daftar properti pencarian, properti terdaftar untuk daftar tertentu tersebut. Untuk menambahkan properti ke daftar properti pencarian, Anda memerlukan nilai berikut:

  • GUID set properti

    Setiap properti pencarian milik kumpulan properti tunggal yang berisi sekelompok properti terkait. Setiap set properti diidentifikasi oleh pengidentifikasi unik global (GUID).

  • Pengidentifikasi bilangan bulat properti

    Setiap properti pencarian memiliki pengidentifikasi yang unik dalam kumpulan properti. Untuk properti tertentu, pengidentifikasi dapat berupa bilangan bulat atau string, namun pencarian teks lengkap hanya mendukung pengidentifikasi bilangan bulat.

  • Nama properti

    Ini adalah nama yang akan ditentukan pengguna dalam kueri teks lengkap untuk dicari di properti . Nama properti dapat berisi spasi internal. Panjang maksimum adalah 256 karakter.

    Nama properti dapat berupa salah satu hal berikut:

    • Nama kanonis Windows properti, seperti System.Author atau System.Contact.HomeAddress.

    • Nama yang mudah digunakan yang mudah diingat pengguna Anda. Beberapa properti dikaitkan dengan nama ramah pengguna terkenal, seperti "Penulis" atau "Alamat Rumah", tetapi Anda dapat menentukan nama apa pun yang paling sesuai untuk pengguna Anda.

    Catatan

    Kombinasi guid kumpulan properti dan pengidentifikasi properti tertentu harus unik dalam daftar properti pencarian tertentu. Ini berarti Anda tidak dapat menambahkan properti yang sama lebih dari sekali dengan nama atau deskripsi yang berbeda.

  • Deskripsi properti (opsional)

    Saat menambahkan properti pencarian ke daftar properti pencarian, Anda dapat memberikan deskripsi opsional. Misalnya, Anda mungkin ingin memberikan informasi tentang properti yang tidak terlihat dari namanya, atau Anda mungkin ingin menjelaskan kumpulan properti properti.

Untuk mendapatkan nilai untuk daftar properti pencarian

Lihat Menemukan GUID Set Properti dan ID Bilangan Bulat Properti untuk Properti Pencarian.

Untuk menambahkan properti ke daftar properti pencarian dengan Transact-SQL

Gunakan pernyataan ALTER SEARCH PROPERTY LIST (Transact-SQL) dengan nilai yang Anda peroleh dengan menggunakan salah satu metode yang dijelaskan dalam artikel, Temukan GUID Set Properti dan ID Bilangan Bulat Properti untuk Properti Pencarian.

Contoh berikut menunjukkan penggunaan nilai-nilai ini saat menambahkan properti ke daftar properti pencarian:

ALTER SEARCH PROPERTY LIST DocumentTablePropertyList  
   ADD 'Title'  
   WITH ( PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', PROPERTY_INT_ID = 2,   
      PROPERTY_DESCRIPTION = 'System.Title - Title of the item.' );  

Untuk menambahkan properti ke daftar properti pencarian di Management Studio

Gunakan kotak dialog Properti Daftar Properti Pencarian untuk menambahkan dan menghapus properti pencarian. Anda dapat menemukan Daftar Properti Pencarian di Object Explorer di bawah simpul Penyimpanan database terkait.

Mengaitkan Daftar Properti Pencarian dengan Indeks Teks Lengkap

Agar indeks teks lengkap mendukung pencarian properti pada properti yang terdaftar untuk daftar properti pencarian, Anda perlu mengaitkan daftar properti pencarian dengan indeks dan mengisi ulang indeks. Mengisi ulang indeks teks lengkap membuat entri indeks khusus properti untuk istilah pencarian di setiap properti terdaftar.

Selama indeks teks lengkap tetap terkait dengan daftar properti pencarian ini, kueri teks lengkap dapat menggunakan opsi PROPERTI dari predikat CONTAINS untuk mencari properti yang terdaftar untuk daftar properti pencarian tersebut.

Jika Anda mengubah daftar properti pencarian yang terkait dengan indeks teks lengkap, maka indeks harus dibangun kembali untuk membawanya ke status konsisten. Indeks segera dipotong dan kosong sampai populasi penuh berjalan. Untuk informasi selengkapnya tentang saat mengubah daftar properti pencarian menyebabkan pembangunan ulang indeks, lihat "Komentar," di ALTER FULLTEXT INDEX (Transact-SQL).

Untuk mengaitkan daftar properti pencarian dengan indeks teks lengkap dengan Transact-SQL

Gunakan pernyataan ALTER FULLTEXT INDEX (Transact-SQL) dengan SET SEARCH PROPERTY LIST = <property_list_name> klausul .

Untuk mengaitkan daftar properti pencarian dengan indeks teks lengkap dengan Management Studio

Tentukan nilai untuk Daftar Properti Pencarian pada halaman Umum kotak dialog Properti Indeks Teks Lengkap.

Mengkueri Properti Pencarian dengan CONTAINS

Sintaksis CONTAINS dasar untuk kueri teks lengkap yang dicakup properti adalah sebagai berikut:

SELECT column_name FROM table_name  
  WHERE CONTAINS ( PROPERTY ( column_name, 'property_name' ), '<contains_search_condition>' )  

Misalnya, kueri berikut mencari pada properti terindeks, Title, di Document kolom Production.Document tabel AdventureWorks database. Kueri hanya mengembalikan dokumen yang propertinya Title berisi string Maintenance atau Repair

USE AdventureWorks2022;
GO  
SELECT Document FROM Production.Document  
  WHERE CONTAINS ( PROPERTY ( Document, 'Title' ), 'Maintenance OR Repair')  
GO  

Contoh ini mengasumsikan bahwa IFilter untuk dokumen mengekstrak properti Judulnya, bahwa properti Judul ditambahkan ke daftar properti pencarian, dan bahwa daftar properti pencarian dikaitkan dengan indeks teks lengkap.

Mengelola Daftar Properti Pencarian

Menampilkan dan Mengubah Daftar Properti Pencarian

Untuk mengubah daftar properti pencarian dengan Transact-SQL

Gunakan pernyataan ALTER SEARCH PROPERTY LIST (Transact-SQL) untuk menambahkan atau menghapus properti pencarian.

Untuk melihat dan mengubah daftar properti pencarian di Management Studio
  1. Di Object Explorer, perluas server.

  2. Perluas Database, lalu perluas database.

  3. Perluas Penyimpanan.

  4. Perluas Daftar Properti Pencarian untuk menampilkan daftar properti pencarian.

  5. Klik kanan daftar properti, dan pilih Properti.

  6. Dalam kotak dialog Editor Daftar Properti Pencarian, gunakan kisi Properti untuk menambahkan atau menghapus properti pencarian:

    1. Untuk menghapus properti dokumen, klik header baris di sebelah kiri properti, dan tekan DEL.

    2. Untuk menambahkan properti dokumen, klik di baris kosong di bagian bawah daftar, di sebelah kanan *, dan masukkan nilai untuk properti baru.

      Untuk informasi tentang nilai-nilai ini, lihat Editor Daftar Properti Pencarian. Untuk informasi tentang cara mendapatkan nilai ini untuk properti yang 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.

  7. PilihOK.

Menghapus Daftar Properti Pencarian

Anda tidak dapat menjatuhkan daftar properti dari database saat daftar dikaitkan dengan indeks teks lengkap apa pun.

Untuk menghapus daftar properti pencarian dengan Transact-SQL

Gunakan pernyataan DROP SEARCH PROPERTY LIST (Transact-SQL).

Untuk menghapus daftar properti pencarian di Management Studio
  1. Di Object Explorer, perluas server.

  2. Perluas Database, lalu perluas database.

  3. Perluas Penyimpanan, lalu perluas simpul Daftar Properti Pencarian.

  4. Klik kanan daftar properti yang ingin Anda hapus, dan klik Hapus.

  5. PilihOK.

Lihat Juga

Menemukan GUID Set Properti dan ID Bilangan Bulat Properti untuk Properti Pencarian
Mengonfigurasi dan Mengelola Filter untuk Pencarian